From f74d854e60d88212003c11d55f50137887037553 Mon Sep 17 00:00:00 2001 From: "du.meimei" Date: Mon, 19 May 2025 17:53:31 +0800 Subject: [PATCH] =?UTF-8?q?refactor(home):=20=E4=BC=98=E5=8C=96=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E7=BB=84=E4=BB=B6=E4=BA=A4=E4=BA=92=E5=92=8C=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 Header组件中的文字描述 - 优化 Home 组件结构,添加场景组件引用和创建调查方法 -调整 Operating 组件,增加立即体验按钮和相关逻辑 - 优化 Scene 组件,添加轮播图显隐控制和方法暴露 - 调整 ProjectManage 组件中的智能助手相关逻辑 --- src/assets/img/home/kanoicon.png | Bin 1001 -> 664 bytes src/assets/img/home/xiegang.png | Bin 0 -> 755 bytes src/views/Home/Home.vue | 19 +++++-- src/views/Home/components/Header.vue | 2 +- src/views/Home/components/Operating.vue | 62 +++++++++++++++-------- src/views/Home/components/Scene.vue | 30 ++++++++++- src/views/ProjectManage/create/Index.vue | 13 +++-- 7 files changed, 95 insertions(+), 31 deletions(-) create mode 100644 src/assets/img/home/xiegang.png diff --git a/src/assets/img/home/kanoicon.png b/src/assets/img/home/kanoicon.png index 3ea771a1e2931f24da64a0ba26f7d6a242b6e376..dce015b0b1300fae347717e8c520521c5fea4221 100644 GIT binary patch literal 664 zcmV;J0%!e+P)Px%Qb|NXR7gvml}(6^VHC%I|MERP78c~2<9}QWfm3|gN22BY_L*BjfUi7 z7LpWJlqMmHQU+NlS&T%!5>`kVk&hVS?>*CddGBNH+-uI}-upb~oZoYv^MB42HJa_k zKnE}k_%5llmQdB=WV=6b4_J@`8YCUACAL<;Hef$6I{O?9Y|p+Qm2|fnq$^A4K4tF0(&IAssyQ6 zf$agneISySY&P(v0EqQxl3M!$Xo}M%fpdWm2_RffO1jk(q{j+uPt5N9Ay8Kc`UOk_ zJ_5UeV(e$2SyEJ2W|aWvGu^L9d_$I-V$Jp{U}3U_yX0*skwE5O*XU{{yhy09-62xSpMEU$N9A zdD&0fA%FlyRV6zl>5**5m4xOe02g9vO6tg8@)}@%Z^^U7xATYAmA{_=%>m;7q9p)3 zfJxb-YL)cV_6T4Du%&S4RTxB14g$v{eX>0YSQ@&;xz*b;=qVHPx&qe()dlL?dHpY z!_2JTUVGN8nb~3t#P%HEsHE@5z&+}BmglEVZ`Kw$Cbd zIEwizGCaN@>8^%e5mL`4=;ax<*(y2E4+9%AJpK&yN%|>tZO;ZiN_N-wvbG)(+V*9@ zLEzjB=w*_&CgAAEqXC$e?4m)KE$N>OKW$aoLGLJvqFdW~fxW;DlANIL0iJHLTOq0S zzYN#IRVtxv-weE-;q?S?b))mPeGw2DBz~LampB)aB8<9{QfS-bfUkk68QwQYTGMp+ z;ugHS!tNPK@fNz0D(JO^*L4}5V;D12(jO@-B8DTDBc{tFVtS6GPcnR0stkj+Jq0*W zT-UMN?c_#DyAyEuifj>CVXK8SZQla4Ymq)oMboZsb}RGYO4Wv-ZJ(2J^5hDK(WGva6jP-CRGOh51s-Xk`Mao{ zUjZJI^kpll?U;4+cliW|8nPR0y`17FQvBga~G@7 z`wfU1CDuBYU(&H6~V-BHN3L z+iP<%)_NS+BI(x>*m=N%DXX+CvbubdNQJMZ^AlebhDkt2t^A&(xQ>S;eTG<+c6M%; zAfq*p26{l!DUEblo{qSV{2RlVoEmzxK%Lmdjt>+y&W=d4t$DgHT@Wz|t)s-}kj?)B XGBqhmM&}?T00000NkvXXu0mjfVgA%e diff --git a/src/assets/img/home/xiegang.png b/src/assets/img/home/xiegang.png new file mode 100644 index 0000000000000000000000000000000000000000..f851b669adca993018197e9e0e686e170ff3a5f8 GIT binary patch literal 755 zcmVP001xu1^@s6Px%tw}^dR9Hu?m`SKkVHn4M*O(zg#!M+CQR*Vfuuv#jkgQNxh^wSn2&HVWppYUd zO6)|Eh=nK=iUp-4vs^b*rp)JG=hksN&-u-_mheG7N#H@s?oY&;xb;7kF zX}(=fsG0%ItADI2qyz8`=xjh$9q!oCW4N5RLkmp^$FC z7YA?|nCX00X+X{aE;vHdfNP-;CHyfk-02O?vCp9pZ6TVhmhDKU?Pd?4=VcSW4baMC znMS%szH4P5O85t-H?%;E1b&4=v?$zmMCJo$iU4K9brG252=z{X;|n>B!c~;;^T6Cj zUX<}(X*0Gd~M)2Qzb{5K3OXi>Pv0{5JgZUT0e@uE?<_5kY~A(gd8 zekt=j=>@boz40{djX$Lb1s$)dIp>II6VXOe+B{FLCM)K2Lq!{5*V5|g7cGcN^PwYj z5?B-ivL4uN2>k{I0B=JfS`d`j!G@3uL6FLp50@@8y3|;vJK_Gy1f#l+0?Q1cuj$@f zx@@x=Sx@={+MP5`@^&*R>B)7x&^uYka^Q#|q|*za%V#aiLUh_mhDvL4WgApWJ=Z7W zfxC{-p(Ko}Vn8%eHyT13>GI-TC`A8@NimYjfR)aPR;C002ovPDHLkV1o0oQP2PY literal 0 HcmV?d00001 diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue index 7c9d1576..36735e68 100644 --- a/src/views/Home/Home.vue +++ b/src/views/Home/Home.vue @@ -2,8 +2,8 @@
- - + +
@@ -16,6 +16,7 @@ import Scene from './components/Scene.vue'; import Operating from './components/Operating.vue' import LaunchIntro from './components/LaunchIntro.vue' import Models from './components/Models.vue' +import { ref } from 'vue' export default { name: 'Home', components: { @@ -26,8 +27,20 @@ export default { Models }, setup() { - return { + const sceneRef = ref(null); + // 处理创建问卷的方法 + const handleCreateSurvey = (sceneObj, index) => { + // 调用 Scene 组件的 createScene 方法 + if (sceneRef.value) { + console.log(sceneRef.value); + sceneRef.value.createScene(sceneObj, index); + } + }; + + return { + sceneRef, + handleCreateSurvey } }, } diff --git a/src/views/Home/components/Header.vue b/src/views/Home/components/Header.vue index cac115fd..7c8917fe 100644 --- a/src/views/Home/components/Header.vue +++ b/src/views/Home/components/Header.vue @@ -8,7 +8,7 @@
diff --git a/src/views/Home/components/Operating.vue b/src/views/Home/components/Operating.vue index 763f5974..b893d903 100644 --- a/src/views/Home/components/Operating.vue +++ b/src/views/Home/components/Operating.vue @@ -5,7 +5,7 @@

创建、编辑、投放、分析,让洞察更简单

- +
@@ -14,9 +14,7 @@ {{index+1}} - - / - + {{operatingList.length}} @@ -35,6 +33,7 @@ + 立即体验
@@ -47,12 +46,13 @@
@@ -119,6 +134,7 @@ li{ } .operating-container{ margin-top: 20px; + margin-bottom: 60px; &>div:first-child { text-align: center; } @@ -130,7 +146,9 @@ li{ } .operating-item{ .progress{ - letter-spacing: -4px; + display: flex; + align-items: baseline; + letter-spacing: 1px; & :nth-child(1){ color: #70B937; font-size: 45px; diff --git a/src/views/Home/components/Scene.vue b/src/views/Home/components/Scene.vue index 895a734e..04d11e21 100644 --- a/src/views/Home/components/Scene.vue +++ b/src/views/Home/components/Scene.vue @@ -36,7 +36,9 @@
- + @@ -99,7 +101,9 @@ const getSceneList=()=>{ const createScene = (scene,index)=>{ if (index === 0 || index === 1 || index === 2){ if (createRef.value) { - createRef.value.createCustom(scene.value) + // 检查 scene 是否有 value 属性,如果没有则直接使用 scene + const sceneData = scene.value !== undefined ? scene.value : scene; + createRef.value.createCustom(sceneData) } }else{ if (createRef.value) { @@ -107,6 +111,27 @@ const createScene = (scene,index)=>{ } } } +/** + * 轮播图设置显隐 + * @param val + */ +const getValue = (val) => { + // 获取元素并转换为数组 + const containers = Array.from(document.getElementsByClassName('el-carousel__container')) + const indicators = Array.from(document.getElementsByClassName('el-carousel__indicators')) + const allElements = [...containers, ...indicators] + + allElements.forEach(item => { + if (item) { + item.style.zIndex = val ? '-1' : 'unset' + } + }) +} + +// 使用 defineExpose 显式暴露方法,使其可以被外部组件通过 ref 访问 +defineExpose({ + createScene +})