diff --git a/f/web-kboss/src/api/H5/index.js b/f/web-kboss/src/api/H5/index.js
index 44a6ad7..d86c0ac 100644
--- a/f/web-kboss/src/api/H5/index.js
+++ b/f/web-kboss/src/api/H5/index.js
@@ -29,4 +29,15 @@ export const reqProductConsult = (data) => {
data
})
}
+// 获取产品详情
+export const reqProductDetail = (data) => {
+ return request({
+ url: '/product/get_firstpage_net_detail.dspy',
+ method: 'post',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ data
+ })
+}
diff --git a/f/web-kboss/src/components/FloatingBox/FloatingBox.vue b/f/web-kboss/src/components/FloatingBox/FloatingBox.vue
index 1cc6dd2..048e66d 100644
--- a/f/web-kboss/src/components/FloatingBox/FloatingBox.vue
+++ b/f/web-kboss/src/components/FloatingBox/FloatingBox.vue
@@ -833,7 +833,7 @@ export default {
margin: 0;
padding: 0;
position: relative;
- width: 40px;
+ width: .38rem;
flex-direction: column;
diff --git a/f/web-kboss/src/router/index.js b/f/web-kboss/src/router/index.js
index c037e80..5e73a1c 100644
--- a/f/web-kboss/src/router/index.js
+++ b/f/web-kboss/src/router/index.js
@@ -55,14 +55,14 @@ export const constantRoutes = [
path: "/redirect/:path(.*)", component: () => import("@/views/redirect/index"),
},],
},
- {
+ {
path: '/h5HomePage',
name: 'H5HomePage',
title: 'H5首页',
component: () => import('@/views/H5/index.vue'),
hidden: true,
- redirect:"/h5HomePage/index",
- children: [
+ redirect: "/h5HomePage/index",
+ children: [
{
path: "index",
title: 'H5首页',
@@ -91,7 +91,7 @@ export const constantRoutes = [
path: "net",
title: '网',
component: () => import('@/views/H5/net/index.vue'),
- meta: {
+ meta: {
title: "网", fullPath: "/h5HomePage/net",
},
},
@@ -105,14 +105,38 @@ export const constantRoutes = [
},
{
path: "details",
- title: '产品详情',
+ title: '算产品详情',
component: () => import('@/views/H5/details/index.vue'),
meta: {
title: "产品详情", fullPath: "/h5HomePage/details",
},
- }
- ]
+ },
+ {
+ path: "netDetail",
+ title: '网产品详情',
+ component: () => import('@/views/H5/netDetails/index.vue'),
+ meta: {
+ title: "产品详情", fullPath: "/h5HomePage/netDetail",
+ },
+ },
+ {
+ path: "useDetail",
+ title: 'AI产品详情',
+ component: () => import('@/views/H5/useDetails/index.vue'),
+ meta: {
+ title: "AI产品详情", fullPath: "/h5HomePage/useDetail",
+ },
+ },
+ {
+ path: "service",
+ title: '智能客服详情',
+ component: () => import('@/views/H5/useDetails/service.vue'),
+ meta: {
+ title: "智能客服详情", fullPath: "/h5HomePage/service",
+ },
+ },
+ ]
},
{
path: '/beforeLogin',
@@ -944,7 +968,7 @@ export const asyncRoutes = [
}
]
},
- // 工单管理 - 变为一级菜单
+ // 工单管理 - 变为一级菜单
{
path: "/workOrderManagement",
component: Layout,
@@ -1221,7 +1245,7 @@ export const asyncRoutes = [
name: "menuMangement",
meta: { title: "ncmatch菜单管理", fullPath: "/menuMangement/index" },
},
- {
+ {
path: "productsServices",
component: () => import("@/views/operation/productsServices/index.vue"),
name: "productsServices",
diff --git a/f/web-kboss/src/views/H5/calculate/index.vue b/f/web-kboss/src/views/H5/calculate/index.vue
index 7fd737d..252488a 100644
--- a/f/web-kboss/src/views/H5/calculate/index.vue
+++ b/f/web-kboss/src/views/H5/calculate/index.vue
@@ -76,28 +76,14 @@
-
-
diff --git a/f/web-kboss/src/views/H5/cloud/index.vue b/f/web-kboss/src/views/H5/cloud/index.vue
index 273f2c2..fc23525 100644
--- a/f/web-kboss/src/views/H5/cloud/index.vue
+++ b/f/web-kboss/src/views/H5/cloud/index.vue
@@ -71,7 +71,7 @@
diff --git a/f/web-kboss/src/views/H5/components/footer/footer.vue b/f/web-kboss/src/views/H5/components/footer/footer.vue
new file mode 100644
index 0000000..870a9c2
--- /dev/null
+++ b/f/web-kboss/src/views/H5/components/footer/footer.vue
@@ -0,0 +1,481 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/f/web-kboss/src/views/H5/details/index.vue b/f/web-kboss/src/views/H5/details/index.vue
index 3dc627f..e12c43b 100644
--- a/f/web-kboss/src/views/H5/details/index.vue
+++ b/f/web-kboss/src/views/H5/details/index.vue
@@ -1,16 +1,335 @@
- 详情页
+
+
+
+
+ {{ productList.title }}
+
+
+
+ {{ productList.description }}
+
+
+ 立即咨询
+
+
+
+
+
+
+ 产品规格
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+ {{ items.name }}
+
+
+ {{ items.content }}
+
+
+
+
+
+
+ ¥{{ item.price }}{{ item.price_unit }}(可短租)
+
+
+
+ 立即咨询
+
+
+
+
+
+
+
+
+
-
diff --git a/f/web-kboss/src/views/H5/images/calculateBanner.jpg b/f/web-kboss/src/views/H5/images/calculateBanner.jpg
new file mode 100644
index 0000000..364f5f1
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/calculateBanner.jpg differ
diff --git a/f/web-kboss/src/views/H5/images/image.png b/f/web-kboss/src/views/H5/images/image.png
new file mode 100644
index 0000000..d6e1d98
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/image.png differ
diff --git a/f/web-kboss/src/views/H5/images/keyueBanner.png b/f/web-kboss/src/views/H5/images/keyueBanner.png
new file mode 100644
index 0000000..a3ed837
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/keyueBanner.png differ
diff --git a/f/web-kboss/src/views/H5/images/netBanner.jpg b/f/web-kboss/src/views/H5/images/netBanner.jpg
new file mode 100644
index 0000000..996eac1
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/netBanner.jpg differ
diff --git a/f/web-kboss/src/views/H5/images/netDetails/1.png b/f/web-kboss/src/views/H5/images/netDetails/1.png
new file mode 100644
index 0000000..3c1d090
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/netDetails/1.png differ
diff --git a/f/web-kboss/src/views/H5/images/netDetails/2.png b/f/web-kboss/src/views/H5/images/netDetails/2.png
new file mode 100644
index 0000000..557f515
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/netDetails/2.png differ
diff --git a/f/web-kboss/src/views/H5/images/netDetails/3.png b/f/web-kboss/src/views/H5/images/netDetails/3.png
new file mode 100644
index 0000000..aa0151c
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/netDetails/3.png differ
diff --git a/f/web-kboss/src/views/H5/images/netDetails/4.png b/f/web-kboss/src/views/H5/images/netDetails/4.png
new file mode 100644
index 0000000..4363d65
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/netDetails/4.png differ
diff --git a/f/web-kboss/src/views/H5/images/netDetails/5.png b/f/web-kboss/src/views/H5/images/netDetails/5.png
new file mode 100644
index 0000000..8e1a5f1
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/netDetails/5.png differ
diff --git a/f/web-kboss/src/views/H5/images/netDetails/6.png b/f/web-kboss/src/views/H5/images/netDetails/6.png
new file mode 100644
index 0000000..d1fcd78
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/netDetails/6.png differ
diff --git a/f/web-kboss/src/views/H5/images/netDetails/7.png b/f/web-kboss/src/views/H5/images/netDetails/7.png
new file mode 100644
index 0000000..15e949b
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/netDetails/7.png differ
diff --git a/f/web-kboss/src/views/H5/images/scene.jpg b/f/web-kboss/src/views/H5/images/scene.jpg
new file mode 100644
index 0000000..9291b3d
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/scene.jpg differ
diff --git a/f/web-kboss/src/views/H5/images/use.jpg b/f/web-kboss/src/views/H5/images/use.jpg
new file mode 100644
index 0000000..1e7cc7d
Binary files /dev/null and b/f/web-kboss/src/views/H5/images/use.jpg differ
diff --git a/f/web-kboss/src/views/H5/img/img.png b/f/web-kboss/src/views/H5/img/img.png
new file mode 100644
index 0000000..680851b
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/img.png differ
diff --git a/f/web-kboss/src/views/H5/img/map.png b/f/web-kboss/src/views/H5/img/map.png
new file mode 100644
index 0000000..3a58ebf
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/map.png differ
diff --git a/f/web-kboss/src/views/H5/img/net/1.png b/f/web-kboss/src/views/H5/img/net/1.png
new file mode 100644
index 0000000..04cd142
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/net/1.png differ
diff --git a/f/web-kboss/src/views/H5/img/net/2.png b/f/web-kboss/src/views/H5/img/net/2.png
new file mode 100644
index 0000000..7c5d0d7
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/net/2.png differ
diff --git a/f/web-kboss/src/views/H5/img/net/3.png b/f/web-kboss/src/views/H5/img/net/3.png
new file mode 100644
index 0000000..0cbf3cf
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/net/3.png differ
diff --git a/f/web-kboss/src/views/H5/img/net/4.png b/f/web-kboss/src/views/H5/img/net/4.png
new file mode 100644
index 0000000..ad69c11
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/net/4.png differ
diff --git a/f/web-kboss/src/views/H5/img/suan/1.png b/f/web-kboss/src/views/H5/img/suan/1.png
new file mode 100644
index 0000000..a9a2649
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/suan/1.png differ
diff --git a/f/web-kboss/src/views/H5/img/suan/2.png b/f/web-kboss/src/views/H5/img/suan/2.png
new file mode 100644
index 0000000..b212ad2
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/suan/2.png differ
diff --git a/f/web-kboss/src/views/H5/img/suan/3.png b/f/web-kboss/src/views/H5/img/suan/3.png
new file mode 100644
index 0000000..1e13c6b
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/suan/3.png differ
diff --git a/f/web-kboss/src/views/H5/img/suan/4.png b/f/web-kboss/src/views/H5/img/suan/4.png
new file mode 100644
index 0000000..304859e
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/suan/4.png differ
diff --git a/f/web-kboss/src/views/H5/img/suan/5.png b/f/web-kboss/src/views/H5/img/suan/5.png
new file mode 100644
index 0000000..4316af5
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/suan/5.png differ
diff --git a/f/web-kboss/src/views/H5/img/suanBg.png b/f/web-kboss/src/views/H5/img/suanBg.png
new file mode 100644
index 0000000..2097a20
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/suanBg.png differ
diff --git a/f/web-kboss/src/views/H5/img/tiyanBg.png b/f/web-kboss/src/views/H5/img/tiyanBg.png
new file mode 100644
index 0000000..21877ab
Binary files /dev/null and b/f/web-kboss/src/views/H5/img/tiyanBg.png differ
diff --git a/f/web-kboss/src/views/H5/less/dialog/index.css b/f/web-kboss/src/views/H5/less/dialog/index.css
index 95e73fe..7c97b94 100644
--- a/f/web-kboss/src/views/H5/less/dialog/index.css
+++ b/f/web-kboss/src/views/H5/less/dialog/index.css
@@ -164,7 +164,7 @@
margin-top: 0.15rem;
display: flex;
align-items: center;
- font-size: 0.243rem;
+ font-size: 0.26rem;
/* 增大35%: .18rem * 1.35 = .243rem */
line-height: 1.6;
color: #666;
diff --git a/f/web-kboss/src/views/H5/less/dialog/index.less b/f/web-kboss/src/views/H5/less/dialog/index.less
index 499d4cc..7146c30 100644
--- a/f/web-kboss/src/views/H5/less/dialog/index.less
+++ b/f/web-kboss/src/views/H5/less/dialog/index.less
@@ -191,7 +191,7 @@
margin-top: .15rem;
display: flex;
align-items: center;
- font-size: .243rem; /* 增大35%: .18rem * 1.35 = .243rem */
+ font-size: .26rem; /* 增大35%: .18rem * 1.35 = .243rem */
line-height: 1.6;
color: #666;
diff --git a/f/web-kboss/src/views/H5/less/official/index.css b/f/web-kboss/src/views/H5/less/official/index.css
index 1e2398b..23e1476 100644
--- a/f/web-kboss/src/views/H5/less/official/index.css
+++ b/f/web-kboss/src/views/H5/less/official/index.css
@@ -130,7 +130,7 @@
.journey-box .content .item-box .advantage-list .advantage-item .advantage-name,
.latitude-box .content .item-box .advantage-list .advantage-item .advantage-name {
color: #000;
- font-weight: 600;
+ font-weight: 500;
white-space: nowrap;
font-size: 0.2rem;
margin-right: 0.05rem;
diff --git a/f/web-kboss/src/views/H5/less/official/index.less b/f/web-kboss/src/views/H5/less/official/index.less
index e73f387..8d227a5 100644
--- a/f/web-kboss/src/views/H5/less/official/index.less
+++ b/f/web-kboss/src/views/H5/less/official/index.less
@@ -126,7 +126,7 @@
.advantage-name {
color: #000;
- font-weight: 600;
+ font-weight: 500;
white-space: nowrap;
font-size: .2rem;
margin-right: 0.05rem;
diff --git a/f/web-kboss/src/views/H5/net/index.vue b/f/web-kboss/src/views/H5/net/index.vue
index 87357bc..f9c12c9 100644
--- a/f/web-kboss/src/views/H5/net/index.vue
+++ b/f/web-kboss/src/views/H5/net/index.vue
@@ -63,8 +63,11 @@
@@ -72,27 +75,13 @@
-
-
+
diff --git a/f/web-kboss/src/views/H5/netDetails/index.vue b/f/web-kboss/src/views/H5/netDetails/index.vue
new file mode 100644
index 0000000..91cae6f
--- /dev/null
+++ b/f/web-kboss/src/views/H5/netDetails/index.vue
@@ -0,0 +1,573 @@
+
+
+
+
+
+
+ {{ productList.title }}
+
+
+
+ {{ productList.description }}
+
+
+ 立即咨询
+
+
+
+
+
+
+
+
+ 产品优势
+
+
+
+
+
+
+
![]()
+
+
+
+ {{ item.title }}
+ {{ item.description }}
+
+
+
+
+
+
+
+ 产品功能
+
+
+
+
+
+
+
+
![]()
+
+
+
+ {{ item.title }}
+ {{ item.description }}
+
+
+
+
+
+
+
+ 产品场景
+
+
+
+
+
+
+ {{ scene.memuName }}
+
+
+
+
+
+
+
+
+ {{ currentScene.title_r }}
+
+
+
+ {{ currentScene.description_r }}
+
+
+
+
+
+
+
+ {{ provideItem.title }}
+
+
+
+ {{ provideItem.content }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/f/web-kboss/src/views/H5/newImg/banner.png b/f/web-kboss/src/views/H5/newImg/banner.png
new file mode 100644
index 0000000..71ab7f2
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/banner.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/baseBg.png b/f/web-kboss/src/views/H5/newImg/baseBg.png
new file mode 100644
index 0000000..41c435b
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/baseBg.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/computing.png b/f/web-kboss/src/views/H5/newImg/computing.png
new file mode 100644
index 0000000..cebe539
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/computing.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/computingActive.png b/f/web-kboss/src/views/H5/newImg/computingActive.png
new file mode 100644
index 0000000..b4e9d00
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/computingActive.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/container.png b/f/web-kboss/src/views/H5/newImg/container.png
new file mode 100644
index 0000000..b0d95d5
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/container.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/containerActive.png b/f/web-kboss/src/views/H5/newImg/containerActive.png
new file mode 100644
index 0000000..6ada96f
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/containerActive.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/cun.png b/f/web-kboss/src/views/H5/newImg/cun.png
new file mode 100644
index 0000000..465cfb1
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/cun.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/cunActive.png b/f/web-kboss/src/views/H5/newImg/cunActive.png
new file mode 100644
index 0000000..04a852a
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/cunActive.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/database.png b/f/web-kboss/src/views/H5/newImg/database.png
new file mode 100644
index 0000000..83143e7
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/database.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/databaseActive.png b/f/web-kboss/src/views/H5/newImg/databaseActive.png
new file mode 100644
index 0000000..f3f9bf2
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/databaseActive.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/footerLogo.png b/f/web-kboss/src/views/H5/newImg/footerLogo.png
new file mode 100644
index 0000000..38756c8
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/footerLogo.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/hotBg.png b/f/web-kboss/src/views/H5/newImg/hotBg.png
new file mode 100644
index 0000000..8f29a12
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/hotBg.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/map.png b/f/web-kboss/src/views/H5/newImg/map.png
new file mode 100644
index 0000000..0289f5d
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/map.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/netBg.png b/f/web-kboss/src/views/H5/newImg/netBg.png
new file mode 100644
index 0000000..e0b27b6
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/netBg.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/niu.png b/f/web-kboss/src/views/H5/newImg/niu.png
new file mode 100644
index 0000000..3c21344
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/niu.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/niuActive.png b/f/web-kboss/src/views/H5/newImg/niuActive.png
new file mode 100644
index 0000000..fe5a0be
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/niuActive.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/rescourceBg.png b/f/web-kboss/src/views/H5/newImg/rescourceBg.png
new file mode 100644
index 0000000..d6db79e
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/rescourceBg.png differ
diff --git a/f/web-kboss/src/views/H5/newImg/tag.png b/f/web-kboss/src/views/H5/newImg/tag.png
new file mode 100644
index 0000000..94ec98b
Binary files /dev/null and b/f/web-kboss/src/views/H5/newImg/tag.png differ
diff --git a/f/web-kboss/src/views/H5/official/index.vue b/f/web-kboss/src/views/H5/official/index.vue
index 717c285..92cdffa 100644
--- a/f/web-kboss/src/views/H5/official/index.vue
+++ b/f/web-kboss/src/views/H5/official/index.vue
@@ -135,97 +135,8 @@
+
-
-
import { reqHotProduct } from '@/api/H5/index.js'
import { getLogoAPI } from "@/api/login"
-import ProductConsultDialog from '../H5_dialog/index.vue'
+import ProductConsultDialog from '../components/H5_dialog/index.vue'
import { reqProductConsult } from '@/api/H5/index'
+import Footer from '../components/footer/footer.vue';
export default {
name: 'MainPage',
components: {
- ProductConsultDialog
+ ProductConsultDialog,
+ Footer
},
data() {
diff --git a/f/web-kboss/src/views/H5/use/index.vue b/f/web-kboss/src/views/H5/use/index.vue
index 9c487b2..1d959c9 100644
--- a/f/web-kboss/src/views/H5/use/index.vue
+++ b/f/web-kboss/src/views/H5/use/index.vue
@@ -8,12 +8,7 @@
diff --git a/f/web-kboss/src/views/H5/useDetails/index.vue b/f/web-kboss/src/views/H5/useDetails/index.vue
new file mode 100644
index 0000000..c91df35
--- /dev/null
+++ b/f/web-kboss/src/views/H5/useDetails/index.vue
@@ -0,0 +1,525 @@
+
+
+
+
+
+
+ 灵医智能体
+
+
+ 持续丰富能⼒ | 赋能合作伙伴⽣产⼒升级
+
+
+ 秒接DeepSeek,立即咨询
+
+
+
+
+
+
+
+ 智能体医疗行业综合解决方案
+
+
+
+
+
+
+
+
+
+ 智能体
+
+
+
+
+
+
+ {{ agent.title }}
+
+
+ {{ agent.description }}
+
+
+ {{ agent.tag }}
+
+
+ 立即咨询
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/f/web-kboss/src/views/H5/useDetails/service.vue b/f/web-kboss/src/views/H5/useDetails/service.vue
new file mode 100644
index 0000000..2848635
--- /dev/null
+++ b/f/web-kboss/src/views/H5/useDetails/service.vue
@@ -0,0 +1,454 @@
+
+
+
+
+
+
+ 客悦ONE·智能客服
+
+
+ 智能整合全域沟通路径,精准响应用户需求,实现全旅程服务效能提升。
+
+
+ 立即咨询
+
+
+
+
+
+
+
+ 全链路用户服务接待
+
+
+
+
+
+
+ 在线机器人
+
+
+ 任务对话:拖拽式画布搭建,对话流程清晰,听说想做四步分类,操作顺畅。 多模态问答:融合文字图片,精准识别需求,提供丰富准确答案,提升互动体验。 知识问答:上传知识即问即答,支持自定义风格,兼容多种格式,回答友好多样
+
+
+ 立即咨询
+
+
+
+
+ 在线客服
+
+
+ 多渠道集成:支持Web/H5、App、第三方渠道一键集成,服务更高效精准。 会话智能分配:支持会话智能分配、管理,实现访客分流和VIP客服专属服务。 服务监控:实时监控数据,掌握服务全流程,优化调配,确保高效精准。
+ 免费体验
+
+
+ 立即咨询
+
+
+
+
+ 联络中心
+
+
+ 智能路由排队:支持按排队时长、客户等级、技能等级等多种路由排队策略。 呼叫服务数据实时管理:提供坐席、技能组实时监控数据和多维度统计报表。 稳定安全:按需付费,资源弹性扩容;安全稳定,保护用户通信隐私。
+
+
+ 立即咨询
+
+
+
+
+ 坐席辅助
+
+
+ 上下游集成:对接CRM,实时查看客户信息,精准提供个性化服务。 实时智能提示:根据用户咨询的问题和历史沟通信息,自动推送相关知识,助力快速应答。
+
+
+ 立即咨询
+
+
+
+
+
+
+
+ 多样化产品方案满足个性化需求
+
+
+
+
+
+

+
+
+ SaaS部署
+
+
+ 按需购买、开箱即用的公有云软件
+ 满足不同规模企业的营销、服务需求
+
+
+
+
+

+
+
+ 本地部署
+
+
+ 支持不上云、不出域,可实现局域网极速传输
+ 全栈国产化信创适配,支持软硬一体机,合规无忧
+
+
+
+
+

+
+
+ 开放平台
+
+
+ 开放的API接口,满足复杂业务场景
+ 与企业官网、APP、CRM、OA等多种系统对接
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/f/web-kboss/src/views/homePage/solve/hospital/index.vue b/f/web-kboss/src/views/homePage/solve/hospital/index.vue
index b84f4bd..660d509 100644
--- a/f/web-kboss/src/views/homePage/solve/hospital/index.vue
+++ b/f/web-kboss/src/views/homePage/solve/hospital/index.vue
@@ -44,9 +44,9 @@
立即体验
-

+ alt=""> -->
@@ -57,9 +57,9 @@
立即体验
-

+ alt=""> -->
@@ -70,9 +70,9 @@
立即体验
-

+ alt=""> -->
@@ -83,9 +83,9 @@
立即体验
-

+ alt=""> -->
@@ -96,9 +96,9 @@
立即体验
-

+ alt=""> -->
@@ -109,9 +109,9 @@
立即体验
-

+ alt=""> -->
@@ -122,9 +122,9 @@
立即体验
-

+ alt=""> -->
@@ -136,9 +136,9 @@
立即体验
-

+ alt=""> -->
@@ -149,9 +149,9 @@
立即体验
-

+ alt=""> -->
@@ -162,9 +162,9 @@
立即体验
-

+ alt=""> -->
@@ -175,15 +175,15 @@
立即体验
-

+ alt=""> -->
-
+ alt=""> -->
@@ -204,26 +204,26 @@ export default Vue.extend({
title: "诊前就医助手",
description: "患者就诊前,可随时发起咨询。既能描述症状,获取专业回答,又能了解挂号、候诊等就医流程。系统通过多轮深入问诊,掌握病情信息、过往病史、生活习惯等细节,进而精准推荐适配的医院科室,可支持推荐对应医生。问诊结束后,可自动生成门诊病历,助力患者高效就医。",
tags: ["提升医患双边体验", "助力医院智慧服务建设"],
- image: "https://01.baidu.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsolution-zqjyzs.a7b4d6b2.png&w=3840&q=75"
+ image: "https://bce.bdstatic.com/p3m/common-service/uploads/jiuyi_8c82c42.png"
},
menuData: {
"诊前就医助手": {
title: "诊前就医助手",
description: "患者就诊前,可随时发起咨询。既能描述症状,获取专业回答,又能了解挂号、候诊等就医流程。系统通过多轮深入问诊,掌握病情信息、过往病史、生活习惯等细节,进而精准推荐适配的医院科室,可支持推荐对应医生。问诊结束后,可自动生成门诊病历,助力患者高效就医。",
tags: ["提升医患双边体验", "助力医院智慧服务建设"],
- image: "https://01.baidu.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsolution-zqjyzs.a7b4d6b2.png&w=3840&q=75"
+ image: "https://bce.bdstatic.com/p3m/common-service/uploads/jiuyi_8c82c42.png"
},
"健康管家": {
title: "健康管家",
description: "在互联网医院、健康管理、患者管理等场景下,为患者提供一站式健康管家服务。通过 APP、小程序或 H5 页面,患者只需在一个对话框,就能发起健康咨询、药品咨询、检查检验报告解读、皮肤病图片咨询、症状咨询等各类健康问题。大模型结合专业知识库,迅速给出专业解答,让健康关怀触手可及。",
tags: ["一站式健康咨询服务", "快速专业解答"],
- image: "https://01.baidu.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsolution-jkgj.8a22e2b8.png&w=3840&q=75"
+ image: "https://bce.bdstatic.com/p3m/common-service/uploads/jiankang_cb6b412.png"
},
"报告解读与生成": {
title: "报告解读与生成",
description: "面向基层医院或体检机构,能够为医生提供检查检验、体检报告的专业解读服务,助力基层医生迅速、精准地向患者阐释异常指标,科学评估疾病风险,高效开展健康管理工作。面向医院体检科与体检机构,辅助医生快速生成体检报告,优化工作流程,极大提升体检报告输出效率",
tags: ["增强医患沟通效果", "优化报告生成流程", "提高工作效率"],
- image: "https://01.baidu.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fsolution-bgjdsc.f1ea78a4.png&w=3840&q=75"
+ image: "https://bce.bdstatic.com/p3m/common-service/uploads/baogaojiedu_51ec1c7.png"
}
}
}
diff --git a/f/web-kboss/src/views/operation/productsServices/index.vue b/f/web-kboss/src/views/operation/productsServices/index.vue
index a78e7bc..9aa5485 100644
--- a/f/web-kboss/src/views/operation/productsServices/index.vue
+++ b/f/web-kboss/src/views/operation/productsServices/index.vue
@@ -11,11 +11,11 @@
-
- {{ data.title || data.label }}
+ {{ data.firTitle || data.secTitle || data.thrTitle }}
@@ -528,9 +528,9 @@
-
+
- (值为{{ menuDialog.form.sort_order }}将排在第{{ menuDialog.form.sort_order+1 }}位)
+ (值为{{ menuDialog.form.sort_order }}将排在第{{ menuDialog.form.sort_order }}位)
@@ -778,6 +778,53 @@ export default {
return [...this.productSpecList].sort((a, b) => {
return (a.sort_order || 999) - (b.sort_order || 999)
})
+ },
+ // 排序后的菜单数据
+ sortedMenuData() {
+ // 对一级菜单按sort_order排序
+ const sortedLevel1 = [...(this.menuData || [])].sort((a, b) => {
+ return (a.sort_order || 999) - (b.sort_order || 999)
+ })
+
+ // 返回转换后的数据结构
+ return sortedLevel1.map(level1 => {
+ // 对二级菜单按sort_order排序
+ const sortedLevel2 = [...(level1.secMenu || [])].sort((a, b) => {
+ return (a.sort_order || 999) - (b.sort_order || 999)
+ })
+
+ return {
+ id: level1.id,
+ firTitle: level1.firTitle,
+ title: level1.firTitle,
+ sort_order: level1.sort_order || 1,
+ menu_level: 1,
+ children: sortedLevel2.map(level2 => {
+ // 对三级菜单按sort_order排序
+ const sortedLevel3 = [...(level2.thrMenu || [])].sort((a, b) => {
+ return (a.sort_order || 999) - (b.sort_order || 999)
+ })
+
+ return {
+ id: level2.id,
+ secTitle: level2.secTitle,
+ title: level2.secTitle,
+ sort_order: level2.sort_order || 1,
+ menu_level: 2,
+ parent_id: level1.id,
+ children: sortedLevel3.map(level3 => ({
+ id: level3.id,
+ thrTitle: level3.thrTitle,
+ title: level3.thrTitle,
+ sort_order: level3.sort_order || 1,
+ menu_level: 3,
+ parent_id: level2.id,
+ value: level3.value || []
+ }))
+ }
+ })
+ }
+ })
}
},
created() {
@@ -1698,57 +1745,13 @@ export default {
// 加载菜单树
async loadMenuTree() {
const res = await findProductMenuAPI()
+ console.log('树形', res);
if (res.status == true) {
- this.menuData = this.buildMenuTree(res.data || [])
+ this.menuData = res.data
}
},
- // 构建菜单树 - 适配新的数据结构,并按照sort_order排序
- buildMenuTree(menus) {
- // 首先对一级菜单排序
- const sortedLevel1 = [...menus].sort((a, b) => {
- return (a.sort_order || 999) - (b.sort_order || 999)
- })
-
- const transformedData = sortedLevel1.map(level1 => {
- // 对二级菜单排序
- const sortedLevel2 = [...(level1.secMenu || [])].sort((a, b) => {
- return (a.sort_order || 999) - (b.sort_order || 999)
- })
-
- return {
- id: level1.id,
- title: level1.firTitle,
- menu_level: 1,
- sort_order: level1.sort_order || 1,
- children: sortedLevel2.map(level2 => {
- // 对三级菜单排序
- const sortedLevel3 = [...(level2.thrMenu || [])].sort((a, b) => {
- return (a.sort_order || 999) - (b.sort_order || 999)
- })
-
- return {
- id: level2.id,
- title: level2.secTitle,
- menu_level: 2,
- parent_id: level1.id,
- sort_order: level2.sort_order || 1,
- children: sortedLevel3.map(level3 => ({
- id: level3.id,
- title: level3.thrTitle,
- menu_level: 3,
- parent_id: level2.id,
- sort_order: level3.sort_order || 1
- }))
- }
- })
- }
- })
-
- return transformedData
- },
-
// 搜索菜单
handleSearchMenu() {
this.loadMenuTree()
@@ -1756,18 +1759,41 @@ export default {
// 节点点击
async handleNodeClick(data) {
+ console.log('点击菜单节点:', data)
+
this.currentMenu = data;
- this.currentMenuLevel = data.menu_level;
- this.currentMenuTitle = data.title;
+
+ // 判断菜单级别
+ if (data.firTitle) {
+ // 一级菜单
+ this.currentMenuLevel = 1;
+ this.currentMenuTitle = data.firTitle;
+ this.breadcrumbPath = [{
+ id: data.id,
+ title: data.firTitle
+ }];
+ } else if (data.secTitle) {
+ // 二级菜单
+ this.currentMenuLevel = 2;
+ this.currentMenuTitle = data.secTitle;
+ // 构建面包屑路径
+ const parent = this.findParentMenu(data.parent_id);
+ this.buildBreadcrumb(parent, data);
+ } else if (data.thrTitle) {
+ // 三级菜单
+ this.currentMenuLevel = 3;
+ this.currentMenuTitle = data.thrTitle;
+ // 构建面包屑路径
+ const parent = this.findParentMenu(data.parent_id);
+ const grandParent = parent ? this.findParentMenu(parent.parent_id) : null;
+ this.buildBreadcrumb(grandParent, parent, data);
+ }
// 详情:清空选中的产品
this.selectedProduct = null;
- // 构建面包屑路径
- this.buildBreadcrumb(data);
-
// 如果是三级菜单,显示产品列表
- if (data.menu_level === 3) {
+ if (data.menu_level === 3 || data.thrTitle) {
// 重置分页到第一页
this.pagination.current_page = 1;
// 加载产品列表
@@ -1779,18 +1805,26 @@ export default {
},
// 构建面包屑路径
- buildBreadcrumb(node) {
+ buildBreadcrumb(...nodes) {
this.breadcrumbPath = []
- let current = node
-
- while (current) {
- this.breadcrumbPath.unshift({
- id: current.id,
- title: current.title
- })
- // 这里需要根据实际情况查找父节点
- current = this.findParentMenu(current.parent_id)
- }
+ nodes.filter(node => node).forEach(node => {
+ if (node.firTitle) {
+ this.breadcrumbPath.push({
+ id: node.id,
+ title: node.firTitle
+ })
+ } else if (node.secTitle) {
+ this.breadcrumbPath.push({
+ id: node.id,
+ title: node.secTitle
+ })
+ } else if (node.thrTitle) {
+ this.breadcrumbPath.push({
+ id: node.id,
+ title: node.thrTitle
+ })
+ }
+ })
},
// 查找父菜单
@@ -1800,15 +1834,21 @@ export default {
const findInTree = (nodes) => {
for (let node of nodes) {
if (node.id === parentId) return node
- if (node.children) {
- const found = findInTree(node.children)
- if (found) return found
+ if (node.secMenu) {
+ for (let secNode of node.secMenu) {
+ if (secNode.id === parentId) return secNode
+ if (secNode.thrMenu) {
+ for (let thrNode of secNode.thrMenu) {
+ if (thrNode.id === parentId) return thrNode
+ }
+ }
+ }
}
}
return null
}
- return findInTree(this.menuData)
+ return findInTree(this.menuData || [])
},
// 分页大小变化
@@ -1816,7 +1856,7 @@ export default {
this.pagination.page_size = val;
this.pagination.current_page = 1; // 重置到第一页
// 确保有当前菜单且为三级菜单时才加载产品
- if (this.currentMenu && this.currentMenu.menu_level === 3) {
+ if (this.currentMenu && (this.currentMenu.menu_level === 3 || this.currentMenu.thrTitle)) {
this.loadProducts(this.currentMenu.id);
}
},
@@ -1825,7 +1865,7 @@ export default {
handleCurrentChange(val) {
this.pagination.current_page = val;
// 确保有当前菜单且为三级菜单时才加载产品
- if (this.currentMenu && this.currentMenu.menu_level === 3) {
+ if (this.currentMenu && (this.currentMenu.menu_level === 3 || this.currentMenu.thrTitle)) {
this.loadProducts(this.currentMenu.id);
}
},
@@ -1868,7 +1908,17 @@ export default {
return
}
- const res = await deleteProductMenuAPI({ id: id })
+ // 判断菜单级别
+ let menu_level = 1;
+ if (data.firTitle) {
+ menu_level = 1;
+ } else if (data.secTitle) {
+ menu_level = 2;
+ } else if (data.thrTitle) {
+ menu_level = 3;
+ }
+
+ const res = await deleteProductMenuAPI({ id: id, menu_level: menu_level })
console.log(res);
if (res.status == true) {
this.$message.success('删除成功!')
@@ -1901,13 +1951,24 @@ export default {
// 添加menu子菜单
handleAddMenu(data) {
- this.menuDialog.title = `添加${data.menu_level === 1 ? '二级' : '三级'}菜单`
+ // 判断菜单级别
+ let menu_level = 1;
+ let title = '';
+ if (data.firTitle) {
+ menu_level = 1;
+ title = '二级';
+ } else if (data.secTitle) {
+ menu_level = 2;
+ title = '三级';
+ }
+
+ this.menuDialog.title = `添加${title}菜单`
this.menuDialog.type = 'add'
this.menuDialog.form = {
id: '',
title: '',
- sort_order: 0,
- menu_level: data.menu_level + 1,
+ sort_order: 1,
+ menu_level: menu_level + 1,
parent_id: data.id
}
this.menuDialog.visible = true
@@ -1922,13 +1983,27 @@ export default {
// 编辑menu菜单
handleEditMenu(data) {
- this.menuDialog.title = `编辑${data.menu_level === 1 ? '一级' : data.menu_level === 2 ? '二级' : '三级'}菜单`
+ // 判断菜单级别
+ let menu_level = 1;
+ let title = '';
+ if (data.firTitle) {
+ menu_level = 1;
+ title = '一级';
+ } else if (data.secTitle) {
+ menu_level = 2;
+ title = '二级';
+ } else if (data.thrTitle) {
+ menu_level = 3;
+ title = '三级';
+ }
+
+ this.menuDialog.title = `编辑${title}菜单`
this.menuDialog.type = 'edit'
this.menuDialog.form = {
id: data.id,
- title: data.title || '',
+ title: data.firTitle || data.secTitle || data.thrTitle || '',
sort_order: data.sort_order || 1,
- menu_level: data.menu_level,
+ menu_level: menu_level,
parent_id: data.parent_id || ''
}
this.menuDialog.visible = true
@@ -1981,7 +2056,7 @@ export default {
}
console.log('编辑菜单参数:', editData)
- const res = await updateProductMenuAPI({ id: editData.id, title: editData.title })
+ const res = await updateProductMenuAPI({ id: editData.id, title: editData.title, sort_order: editData.sort_order })
console.log('编辑菜单返回:', res)
if (res.status == true) {
this.$message.success('更新成功!')
@@ -1995,7 +2070,7 @@ export default {
// 添加产品
async handleAddProduct() {
- if (!this.currentMenu || this.currentMenu.menu_level !== 3) {
+ if (!this.currentMenu || (!this.currentMenu.menu_level === 3 && !this.currentMenu.thrTitle)) {
this.$message.warning('请先选择三级菜单!')
return
}
@@ -2069,7 +2144,7 @@ export default {
this.selectedProduct = null
}
// 重新加载产品列表
- if (this.currentMenu && this.currentMenu.menu_level === 3) {
+ if (this.currentMenu && (this.currentMenu.menu_level === 3 || this.currentMenu.thrTitle)) {
await this.loadProducts(this.currentMenu.id)
}
} else {
@@ -2116,7 +2191,7 @@ export default {
this.productDialog.visible = false
// 重新加载产品列表
- if (this.currentMenu && this.currentMenu.menu_level === 3) {
+ if (this.currentMenu && (this.currentMenu.menu_level === 3 || this.currentMenu.thrTitle)) {
await this.loadProducts(this.currentMenu.id)
}
} else {
@@ -2146,7 +2221,7 @@ export default {
this.productDialog.visible = false
// 重新加载产品列表
- if (this.currentMenu && this.currentMenu.menu_level === 3) {
+ if (this.currentMenu && (this.currentMenu.menu_level === 3 || this.currentMenu.thrTitle)) {
await this.loadProducts(this.currentMenu.id)
}
} else {