@@ -292,6 +293,12 @@ export default {
if (this.$route.query.publish === '1') {
this.handlePublish();
}
+ // 如果URL有id参数,等待数据加载后定位到对应项
+ if (this.$route.query.id) {
+ this.$nextTick(() => {
+ this.scrollToItem(this.$route.query.id);
+ });
+ }
},
methods: {
// 初始化用户信息
@@ -419,11 +426,24 @@ export default {
this.page.pageNo = 1;
this.searchList();
},
- // 分页变化
- onPageChange(pageInfo) {
- this.page.pageNo = pageInfo.current;
- this.page.pageSize = pageInfo.pageSize;
- this.searchList();
+ // 滚动到指定项并高亮
+ scrollToItem(gxUuid) {
+ this.$nextTick(() => {
+ const targetCard = this.cardList.find(card => card.gxUuid === gxUuid);
+ if (targetCard) {
+ // 找到对应卡片并滚动到视图中心
+ const cardIndex = this.cardList.indexOf(targetCard);
+ const cardElement = document.querySelector(`[data-gx-uuid="${gxUuid}"]`);
+ if (cardElement) {
+ cardElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
+ // 添加高亮效果
+ cardElement.classList.add('highlight-card');
+ setTimeout(() => {
+ cardElement.classList.remove('highlight-card');
+ }, 3000);
+ }
+ }
+ });
},
// 处理发布
handlePublish() {
@@ -804,6 +824,10 @@ export default {
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
transition: all 0.3s ease;
+ &.highlight-card {
+ animation: highlight-pulse 3s ease-out;
+ }
+
&::before {
position: absolute;
top: 0;
@@ -1124,4 +1148,16 @@ export default {
font-size: 18px;
}
}
+
+@keyframes highlight-pulse {
+ 0% {
+ box-shadow: 0 0 0 0 rgba(0, 154, 41, 0.4);
+ }
+ 50% {
+ box-shadow: 0 0 20px 10px rgba(0, 154, 41, 0.2);
+ }
+ 100% {
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
+ }
+}
diff --git a/txw-mhzc-web/src/pages/index/views/fwsc/xqsc.vue b/txw-mhzc-web/src/pages/index/views/fwsc/xqsc.vue
index 83cac2a..35d1d0e 100644
--- a/txw-mhzc-web/src/pages/index/views/fwsc/xqsc.vue
+++ b/txw-mhzc-web/src/pages/index/views/fwsc/xqsc.vue
@@ -86,6 +86,7 @@
@@ -261,6 +262,12 @@ export default {
if (this.$route.query.publish === '1') {
this.handlePublish();
}
+ // 如果URL有id参数,等待数据加载后定位到对应项
+ if (this.$route.query.id) {
+ this.$nextTick(() => {
+ this.scrollToItem(this.$route.query.id);
+ });
+ }
},
methods: {
// 加载代码表
@@ -345,11 +352,21 @@ export default {
this.page.pageNo = 1;
this.searchList();
},
- // 分页变化
- onPageChange(pageInfo) {
- this.page.pageNo = pageInfo.current;
- this.page.pageSize = pageInfo.pageSize;
- this.searchList();
+ // 滚动到指定项并高亮
+ scrollToItem(gxUuid) {
+ this.$nextTick(() => {
+ const targetCard = this.cardList.find(card => card.gxUuid === gxUuid);
+ if (targetCard) {
+ const cardElement = document.querySelector(`[data-gx-uuid="${gxUuid}"]`);
+ if (cardElement) {
+ cardElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
+ cardElement.classList.add('highlight-card');
+ setTimeout(() => {
+ cardElement.classList.remove('highlight-card');
+ }, 3000);
+ }
+ }
+ });
},
// 处理发布
handlePublish() {
@@ -705,6 +722,10 @@ export default {
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
transition: all 0.3s ease;
+ &.highlight-card {
+ animation: highlight-pulse 3s ease-out;
+ }
+
&::before {
position: absolute;
top: 0;
@@ -1028,4 +1049,16 @@ export default {
font-size: 18px;
}
}
+
+@keyframes highlight-pulse {
+ 0% {
+ box-shadow: 0 0 0 0 rgba(0, 154, 41, 0.4);
+ }
+ 50% {
+ box-shadow: 0 0 20px 10px rgba(0, 154, 41, 0.2);
+ }
+ 100% {
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
+ }
+}
diff --git a/txw-mhzc-web/src/pages/index/views/home2/index.vue b/txw-mhzc-web/src/pages/index/views/home2/index.vue
index 563dcfe..5deb193 100644
--- a/txw-mhzc-web/src/pages/index/views/home2/index.vue
+++ b/txw-mhzc-web/src/pages/index/views/home2/index.vue
@@ -48,16 +48,12 @@
-
-
电厂配额
-
林业碳汇开发
-
CBAM 报告
-
2025年度碳报告
-
光伏发展
+
{{ tag }}
@@ -359,7 +355,7 @@ export default {
icon: require('@/pages/index/views/home2/assets/closed-loop@2x.png')
}
],
- inputValue: "",
+ hotSearchTags: ["碳核查", "ESG", "碳资产管理", "ISO 14067"],
// 企业出海数据
overseas2List: [
{ name: '电池法案', btnName: "申请服务", desc: "欧盟电池法案管控电池全生命周期,涉及回收、碳足迹等要求。", icon: require('@/pages/index/assets/home-dcfa-icon.png') },
@@ -514,14 +510,12 @@ export default {
// 快捷搜索
handleSearch() {
if (this.inputValue) {
- console.log('搜索:', this.inputValue);
- // TODO: 实现搜索功能
+ this.$router.push({ path: '/search', query: { keyword: this.inputValue } });
}
},
// 处理热门搜索点击
handleHotSearch(keyword) {
- this.inputValue = keyword;
- this.handleSearch();
+ this.$router.push({ path: '/search', query: { keyword: keyword } });
},
// 企业出海点击
handleOverseasClick(item) {
@@ -799,6 +793,14 @@ export default {
padding: 4px 12px;
color: #333;
font-size: 14px;
+ cursor: pointer;
+ transition: all 0.3s;
+
+ &:hover {
+ background: rgba(0, 185, 107, 0.4);
+ transform: translateY(-2px);
+ color: #fff;
+ }
}
.top-box-bottom-over {
diff --git a/txw-mhzc-web/src/pages/index/views/login/components/login/passwordlogin.vue b/txw-mhzc-web/src/pages/index/views/login/components/login/passwordlogin.vue
index a8f4daa..a1b4d1b 100644
--- a/txw-mhzc-web/src/pages/index/views/login/components/login/passwordlogin.vue
+++ b/txw-mhzc-web/src/pages/index/views/login/components/login/passwordlogin.vue
@@ -228,6 +228,7 @@ export default {
}
let params={
captchaVerification:this.loginForm.captchaVerification,
+ captchaCode:this.loginForm.captchaCode,
sjhm1:this.loginForm.dlzh,
}
sendMsg(params).then((res) => {
diff --git a/txw-mhzc-web/src/pages/index/views/login/components/login/phonelogin.vue b/txw-mhzc-web/src/pages/index/views/login/components/login/phonelogin.vue
index 542d684..9d89cac 100644
--- a/txw-mhzc-web/src/pages/index/views/login/components/login/phonelogin.vue
+++ b/txw-mhzc-web/src/pages/index/views/login/components/login/phonelogin.vue
@@ -20,20 +20,7 @@
-
-
-
- {{ countDown === 0 ? '发送验证码' : `${countDown}秒后可重发` }}
-
-
-
-
-
+
@@ -52,6 +39,20 @@
/>
+
+
+
+ {{ countDown === 0 ? '发送验证码' : `${countDown}秒后可重发` }}
+
+
+
+
+
登录
@@ -176,6 +177,7 @@ handleCounter() {
this.startCountDown();
let params = {
captchaVerification: this.loginForm.captchaVerification,
+ captchaCode: this.loginForm.captchaCode,
sjhm1: this.loginForm.sjhm,
}
sendMsg(params).then((res) => {
diff --git a/txw-mhzc-web/src/pages/index/views/search/index.vue b/txw-mhzc-web/src/pages/index/views/search/index.vue
index d9ed0c1..567e6a4 100644
--- a/txw-mhzc-web/src/pages/index/views/search/index.vue
+++ b/txw-mhzc-web/src/pages/index/views/search/index.vue
@@ -1,63 +1,191 @@
-
-
+
+
+
+
+
搜索碳资产、企业、服务
+
一站式碳信息搜索平台,快速定位所需内容
-
-
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
-
-
+
+
+ 热门:
+
+ {{ item }}
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
未找到相关结果
+
换个关键词试试,或浏览热门内容
+
+
+
+
+
+
+
+
+
-
+
@@ -177,19 +361,515 @@ export default {
diff --git a/txw-mhzc/txw-mhzc-service-biz/src/main/java/com/css/txw/mhzc/controller/SearchController.java b/txw-mhzc/txw-mhzc-service-biz/src/main/java/com/css/txw/mhzc/controller/SearchController.java
index 2193a87..8600ccb 100644
--- a/txw-mhzc/txw-mhzc-service-biz/src/main/java/com/css/txw/mhzc/controller/SearchController.java
+++ b/txw-mhzc/txw-mhzc-service-biz/src/main/java/com/css/txw/mhzc/controller/SearchController.java
@@ -30,16 +30,11 @@ public class SearchController {
@Operation(summary = "搜索", description = "全站搜索")
public CommonResult