2025-04-17 | tanghaolin | ![]() |
2025-04-17 | tanghaolin | ![]() |
2025-04-17 | tanghaolin | ![]() |
2025-04-17 | tanghaolin | ![]() |
src/assets/home/Totop.jpg | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/home/news_1.jpg | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/AppFooter.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/AppHeader.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/styles/index.scss | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/styles/skin.scss | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/GB19762-2025.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/Home.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/NewsDetail.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/mock/newsDetailList.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/assets/home/Totop.jpg
src/assets/home/news_1.jpg
src/components/AppFooter.vue
@@ -1,5 +1,5 @@ <template> <footer class="bg-[#003A8F] text-white py-8 text-small"> <footer id="app-footer" class="bg-[#003A8F] text-white py-8 text-small"> <div class="w-[80%] mx-auto"> <div class="flex justify-between"> <!-- Logo and Contact Info --> @@ -36,7 +36,9 @@ <div class="flex flex-col gap-4 "> <div class="pl-8 pr-8 border-l border-[#73AF28]"> <div class="font-medium mb-2 footer-link">帮å©ä¸å¿</div> <div class="font-medium mb-2 footer-link"> <router-link to="" class="text-white hover:text-[#73AF2B] footer-link">帮å©ä¸å¿</router-link> </div> <div class="flex flex-col gap-2 text-sm"> <router-link to="/brand-center" class="text-white hover:text-[#73AF2B] footer-link">åçä¸å¿</router-link> <router-link to="/payment" class="text-white hover:text-[#73AF2B] footer-link">仿¬¾æ¹å¼</router-link> @@ -47,7 +49,9 @@ <div class="flex flex-col gap-4 "> <div class="pl-8 pr-8 border-l border-[#73AF28]"> <div class="font-medium mb-2 footer-link">æå¡æ¿ç</div> <div class="font-medium mb-2 footer-link"> <router-link to="" class="text-white hover:text-[#73AF2B] footer-link">æå¡æ¿ç</router-link> </div> <div class="flex flex-col gap-2 text-sm"> <router-link to="/delivery" class="text-white hover:text-[#73AF2B] footer-link">é éæå¡</router-link> <router-link to="/after-sales" class="text-white hover:text-[#73AF2B] footer-link">å®åæå¡</router-link> @@ -58,7 +62,9 @@ <div class="flex flex-col gap-4 "> <div class="pl-8 pr-8 border-l border-[#73AF28]"> <div class="font-medium mb-2 footer-link">å ¬å¸ä»ç»</div> <div class="font-medium mb-2 footer-link"> <router-link to="" class="text-white hover:text-[#73AF2B] footer-link">å ¬å¸ä»ç»</router-link> </div> <div class="flex flex-col gap-2 text-sm"> <router-link to="/contact" class="text-white hover:text-[#73AF2B] footer-link">èç³»æä»¬</router-link> <router-link to="/about" class="text-white hover:text-[#73AF2B] footer-link">å ³äºæä»¬</router-link> src/components/AppHeader.vue
@@ -14,45 +14,58 @@ <nav class="flex ml-8 flex-1 navbar-div-style"> <el-menu mode="horizontal" :ellipsis="false" class="border-none menu-div-sytle" router :default-active="activeRoute"> <el-menu-item index="/home" class="!px-4">é¦é¡µ</el-menu-item> <span class="w-[20px] h-full gap-style">|</span> <el-menu-item index="/certified-products" class="!px-4">è½æäº§å</el-menu-item> <span class="w-[20px] h-full gap-style">|</span> <el-menu-item index="/eec-label-search" class="!px-4">è¯ä¹¦æ¥è¯¢</el-menu-item> <span class="w-[20px] h-full gap-style">|</span> <el-menu-item index="/news-detail/99" class="!px-4">æ¿çæä»¶</el-menu-item> <span class="w-[20px] h-full gap-style">|</span> <el-menu-item index="/select-selpara" class="!px-4" @click="linkClick">æ³µéå</el-menu-item> <span class="w-[20px] h-full gap-style">|</span> <el-menu-item index="/gb19762-2025" class="!px-4">计ç®å·¥å ·</el-menu-item> <span class="w-[20px] h-full gap-style">|</span> <el-menu-item index="" class="!px-4">èç³»æä»¬</el-menu-item> </el-menu> <!-- Search and User Actions --> <div class="flex items-center space-x-8 ml-[65px] pb-[15px] "> <!-- Add shopping cart icon here --> <div class="flex items-center gap-4" @click="goToCart"> <el-badge :value="cartCount" :max="99" class="cart-badge"> <el-button class="flex items-center" link> <el-icon class="text-lg" color="#fff" style="font-size: 20px"><ShoppingCart /></el-icon> </el-button> </el-badge> </div> <div class="flex items-center text-gray-600 text-sm text-nowrap"> <template v-if="!userInfo.Token"> <!-- <a href="#" class="hover:text-blue-500">注å</a> <span class="mx-2">·</span> --> <a @click="toLogin" class="hover:text-blue-500 text-white text-[20px]">ç»å½</a> </template> <template v-else> <span class="text-blue-500 mr-2 text-[20px] text-white">{{ userInfo.RealName }}</span> <a href="#" class="hover:text-blue-500 text-[20px]" @click.prevent="handleLogout">éåº</a> </template> </div> </div> </nav> </div> <!-- é¡¶é¨äº§åæç´¢æ¡ --> <div class="header-tool-div" v-show="false"> <div class="header-tool-div"> <div class="search-input-div"> <input /> <input placeholder="å ¨é¨åå|请è¾å ¥å ¬å¸åç§°/åå·/产ååç§°" /> <button>æç´¢</button> </div> <div></div> <div></div> <span class="text-[20px] text-[#000] gap-div"></span> <!-- ç份鿩 --> <div> <el-cascader v-model="AreaValue" :options="options" @change="handleChange"> <template #prefix> 123123 </template> </el-cascader> </div> <span class="text-[20px] text-[#000] gap-div"></span> <div class="flex gap-[22px]"> <button class="flex items-center gap-[10px]"> <div class="flex items-center gap-4" @click="goToCart"> <el-badge :value="cartCount" :max="99" class="cart-badge"> <el-icon class="text-lg" color="#000" style="font-size: 20px"><ShoppingCart /></el-icon> </el-badge> </div> æçè´ç©è½¦ </button> <button>æ¹éä¸è½½</button> <button>æç订å</button> <div class="flex items-center"> <template v-if="!userInfo.Token"> <button @click="toLogin">ç»å½</button> </template> <template v-else> <span class="text-blue-500 mr-2 text-[20px] text-[#000]">{{ userInfo.RealName }}</span> <a href="#" class="hover:text-blue-500 text-[20px]" @click.prevent="handleLogout">éåº</a> </template> </div> </div> </div> </div> </header> @@ -73,12 +86,49 @@ const route = useRoute(); const router = useRouter(); const searchQuery = ref(''); const handleSearch = () => { if (!searchQuery.value) { searchQuery.value = 'æ¥è¯ä¹¦'; } router.push(`/eec-label-search`); const AreaValue = ref(null); const props = { expandTrigger: 'hover' as const, }; const handleChange = (value) => { console.log(value); }; const options = [ { value: 'shanghai', label: '䏿µ·å¸', children: [ { value: 'minhang', label: 'éµè¡åº', }, { value: 'pudongxinqu', label: 'æµ¦ä¸æ°åº', }, { value: 'huanpuqu', label: '黿µ¦åº', }, { value: 'hongkouqu', label: 'è¹å£åº', }, { value: 'fengxian', label: 'å¥è´¤åº', }, { value: 'jingan', label: 'éå®åº', }, ], }, ]; const activeRoute = computed(() => route.path); // è·åç¨æ·ä¿¡æ¯ @@ -136,28 +186,29 @@ <style lang="scss" scoped> :deep(.el-menu--horizontal .el-menu-item) { height: 16px; line-height: 16px; height: 69px; line-height: 69px; font-size: 20px; width: 130px; } :deep(.el-menu--horizontal > .el-menu-item.is-active){ color: #76B432 !important; :deep(.el-menu--horizontal > .el-menu-item.is-active) { color: #76b432 !important; border-bottom: none !important; } :deep(.el-menu--horizontal > .el-menu-item){ :deep(.el-menu--horizontal > .el-menu-item) { color: #fff !important; border-bottom: none; } :deep(.el-menu--horizontal) { border-bottom: none; } :deep(.el-menu--horizontal .el-menu-item:not(.is-disabled):hover){ :deep(.el-menu--horizontal .el-menu-item:not(.is-disabled):hover) { background: transparent !important; color: #76B432 !important; color: #76b432 !important; } :deep(.el-menu--horizontal .el-menu-item:not(.is-disabled):focus){ :deep(.el-menu--horizontal .el-menu-item:not(.is-disabled):focus) { background: transparent !important; color: #76B432 !important; color: #76b432 !important; } .header-layout-div { padding-left: 231px; @@ -170,27 +221,78 @@ height: 68px; } .header-tool-div { padding-left: 258px; display: flex; gap: 20px; align-items: center; padding-left: 240px; width: 100%; height: 64px; background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(255, 255, 255, 0.2)); height: 69px; background: rgb(242, 242, 242); border: 1px solid rgba(158, 158, 158, 0.4); box-sizing: border-box; .search-input-div { input { width: 482px; height: 39px; background: #ffffff; box-shadow: 0px 2px 3px 0px #ffffff, 0px 2px 3px 0px rgba(0, 0, 0, 0.4); border-radius: 6px; display: flex; align-items: center; gap: 10px; } :deep(.el-input__wrapper) { width: 237px; height: 39px; background: transparent; box-shadow: inset -1px -1px 3px 0px #ffffff, inset 0px 2px 3px 0px rgba(0, 0, 0, 0.4) !important; border-radius: 6px; border: none; padding: 0 15px; font-size: 16px; outline: none; box-sizing: border-box; } :deep(.el-input__inner) { height: 39px; background: transparent; font-size: 16px; outline: none; box-sizing: border-box; // &:focus { // box-shadow:inset -1px -1px 3px 0px #ffffff,inset 0px 2px 5px 0px rgba(0, 0, 0, 0.5); // } } input { width: 482px; height: 39px; background: #d3d3d3; box-shadow: inset -1px -1px 3px 0px #ffffff, inset 0px 2px 3px 0px rgba(0, 0, 0, 0.4); border-radius: 6px; border: none; padding: 0 15px; font-size: 16px; outline: none; box-sizing: border-box; &:focus { box-shadow: inset -1px -1px 3px 0px #ffffff, inset 0px 2px 5px 0px rgba(0, 0, 0, 0.5); } button { width: 68px; height: 42px; background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0.8)); box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.3); border: 1px solid; border-image: linear-gradient(180deg, #c2c2c2, #989898) 1 1; } button { min-width: 68px; height: 39px; background: linear-gradient(180deg, #ffffff 0%, #e0e0e0 100%); box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.3); border: 1px solid #c2c2c2; border-radius: 6px; color: #333333; font-size: 16px; cursor: pointer; transition: all 0.3s ease; &:hover { background: linear-gradient(180deg, #f5f5f5 0%, #d5d5d5 100%); } &:active { background: linear-gradient(180deg, #e0e0e0 0%, #cccccc 100%); box-shadow: inset 0px 1px 3px 0px rgba(0, 0, 0, 0.2); } } } @@ -199,7 +301,7 @@ background: url('@/assets/images/navbar_background.png') no-repeat; background-size: 100% 100%; .menu-div-sytle{ .menu-div-sytle { background: transparent; height: 100%; justify-content: center; @@ -210,10 +312,33 @@ } } .cart-badge :deep(.el-badge__content) { animation: cartBadgeAnimation 0.3s cubic-bezier(0.4, 0, 0.2, 1); .cart-badge{ display: flex; :deep(.el-badge__content) { // animation: cartBadgeAnimation 0.3s cubic-bezier(0.4, 0, 0.2, 1); } } .gap-style { font-size: 20px; color: #ffffff; font-family: 微软é é»; font-weight: 500; line-height: 69px; } .gap-div{ height: 69px; display: flex; align-items: center; justify-content: center; padding: 0 20px; &::before{ content: ""; display: block; width: 2px; height: 65%; background: #D3D3D3; } } @keyframes cartBadgeAnimation { 0% { transform: scale(0); src/styles/index.scss
@@ -3,4 +3,5 @@ @use './element-dark.scss'; @use './reset.scss'; @use './utils.scss'; @use './spump-style.scss' @use './spump-style.scss'; @use './skin.scss'; src/styles/skin.scss
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,4 @@ // 主é¢é¢è² :root{ --theme-color: #003A8F; } src/views/GB19762-2025.vue
@@ -1,7 +1,7 @@ <template> <!-- <div class="detail-container">{{ Math.pow(Math.log(60), 2) }} </div> --> <div class="container mx-auto px-4 py-8 bg-white industrial-soft-style" style="margin-top: 20px; padding-top: 15px"> <div class="container mx-auto px-4 py-8 bg-white" style="margin-top: 20px; padding-top: 15px"> <div class="w-100 h-100" style="background-color: #fff"> <div class="mb-6 text-gray-500"> <el-breadcrumb separator="/"> @@ -110,7 +110,7 @@ </el-icon>彿 äº2026å¹´3æ1æ¥å¼å§å®æ½</label> <div class="flex items-end"> <div> <el-button type="primary" @click="Calc">计ç®</el-button> <el-button type="primary" style="background-color: var(--theme-color); border-color: var(--theme-color)" @click="Calc">计ç®</el-button> <el-button @click="clear" type="info">æ¸ ç©º</el-button> </div> <div class="flex"> @@ -578,7 +578,7 @@ height: auto; margin: 0 4px 0 0; padding: 2px 2px; line-height: 20px; line-height: 32px; white-space: nowrap; cursor: default; opacity: 1; @@ -588,12 +588,12 @@ } .ant-tag:hover { color: #1c97b7; color: var(--theme-color); cursor: pointer; } .ant-tag-checked { background-color: #1c97b7; background-color: var(--theme-color); color: #fff; } src/views/Home.vue
@@ -142,7 +142,7 @@ </div> </div> <!-- 主å 容åºå --> <div class="bg-white flex flex-col gap-8" style="width: calc(100% - 434px)"> <div class="bg-white flex flex-col gap-8 relative" style="width: calc(100% - 434px)"> <!-- 产ååºå --> <div class="bg-[#F0F3EF] w-full"> <div class="catalog-list bg-[#fff] grid grid-cols-5 gap-4 justify-center items-center"> @@ -159,14 +159,14 @@ <!-- æéè¦è®¾ç½®swiperçé»è®¤æ¾ç¤ºçslide --> <swiper :direction="'vertical'" :init="true" :initialSlide="0" :slides-per-view="state.catalogSwiperIndex" @swiper="onSwiper" @slideChange="onSlideChange" :slidesPerView="state.catalogSwiperIndex" :centeredSlides="true" :autoplay="{ delay: 10000, disableOnInteraction: true, disableOnInteraction: false, pauseOnMouseEnter: true, }" :effect="'fade'" :modules="SwiperModule" @@ -174,11 +174,11 @@ > <swiper-slide class="w-full h-full" v-for="(item, index) in state.catalogItemList" :key="index"> <div class="catalog-continer overflow-hidden"> <div class="catalog-continer-item p-4" v-for="child in item" :key="child.Id"> <div class="catalog-continer-item p-4" v-for="child in item" :key="child.Id" @click="handleCatalogClick(child)"> <div class="w-full h-[250px]"> <img class="w-full h-full object-contain" :src="child.PhysicalPicturePath" alt="" /> </div> <div class="mt-4 text-center font-medium" style="font-size: 18px;"> <div class="mt-4 text-center font-medium" style="font-size: 18px"> {{ child.Model }} </div> </div> @@ -188,267 +188,151 @@ </div> <!-- æ°é»å ¬ååºå --> <div class="w-full mb-4"> <div class="flex justify-between items-center mb-4" style="border-bottom: 1.5px solid var(--alloy-color-primary)"> <!-- <div class="flex justify-between items-center mb-4" style="border-bottom: 1.5px solid var(--alloy-color-primary)"> <div class="flex items-center space-x-2 ml-2 font-bold"> <el-icon class="text-blue-500"><Document /></el-icon> <span class="text-medium font-bold"> <span class="text-primary">æ°é»</span>æ¿ç</span> </div> <el-button text>æ´å¤</el-button> </div> --> <div class="flex gap-6"> <!-- 左侧æ°é»æ¨¡æ¿ --> <div class="w-[373px] flex flex-col gap-4"> <div class="w-full relative left-news-temp-div"> <img class="w-full flex-0 cursor-pointer" src="@/assets/home/notice1.png" @click="routeClick('/news-detail/8')" alt="æ°é»æ¿ç" /> </div> <span class="news-title"> ã䏿µ·å¸ç»æµä¿¡æ¯åå§å ³äºå¼å±2025å¹´åº¦ä¸æµ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æèµé项ç®ç³æ¥å·¥ä½çéç¥ã </span> </div> <div class="flex-auto right-news-temp-div"> <div class="w-full h-[45px] flex justify-between items-center"> <div class="w-[20%] font-bold text-[20px]">æ°é»æ¿ç</div> <div class="w-[80%] text-right pr-[10%] text-[18px] text-[#5c5c5c]">æ´å¤>></div> </div> <div class="w-full flex justify-between gap-8" style="height: calc(100% - 45px)"> <div class="w-[422px] flex-shrink-0"> <img src="@/assets/home/news_1.jpg" alt="æ°é»æ¿ç" class="w-full h-[187px]" /> <div class="line-clamp-3 font-bold text-large mb-2 hover:text-primary cursor-pointer text-[20px] text-[#000]" @click="routeClick('/news-detail/8')" > 䏿µ·å¸ç»æµä¿¡æ¯åå§å ³äºå¼å±2025å¹´åº¦ä¸æµ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æèµé项ç®ç³æ¥å·¥ä½çéç¥ </div> <div class="text-regular text-[16px] text-[#656565] line-height-[29px] line-clamp-4 new-desc-text overflow-hidden" style="text-indent: 2rem" > æå ³åä½ï¼ 为贯彻è½å®ã䏿µ·å¸èè½åæï¼åºå¯¹æ°åååï¼ä¸é¡¹èµé管çåæ³ï¼æ²ªåæ¹è§èã2021ã5å·ï¼ãåã䏿µ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æå®æ½ç»åãï¼æ²ªç»ä¿¡è§èã2025ã1å·ï¼ï¼è¿ä¸æ¥æ¨è¿æ¬å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°å·¥ä½ï¼ç°ç»ç»å¼å±2025å¹´åº¦ä¸æµ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æèµé项ç®ç³æ¥å·¥ä½ã </div> </div> <div class="mt-4"> <div v-for="(item, index) in newsList" :key="index" class="flex text-regular justify-between items-center news-item"> <div class="flex items-center hover:text-primary w-full" @click="handleNewsClick(item)"> <div class="w-[6px] h-[6px] mr-2 news-list-dot"></div> <div class="w-full text-gray-700 hover:text-blue-500 cursor-pointer text-ellipsis overflow-hidden whitespace-nowrap" > {{ item.title }} </div> </div> <!-- <div class="text-gray-400 text-sm">{{ item.date }}</div> --> </div> </div> </div> </div> </div> <div class="flex"> <img class="w-[30%] flex-0 cursor-pointer" src="@/assets/home/notice1.png" @click="routeClick('/news-detail/8')" alt="æ°é»æ¿ç" /> <div class="bg-page p-4 flex-auto"> <div class="font-bold text-large over-ellipsis mb-2 hover:text-primary cursor-pointer" @click="routeClick('/news-detail/8')" > 䏿µ·å¸ç»æµä¿¡æ¯åå§å ³äºå¼å±2025å¹´åº¦ä¸æµ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æèµé项ç®ç³æ¥å·¥ä½çéç¥ </div> <!-- è½æäº§ååç±» --> <div class="eec-product-classify-div mb-[170px]"> <div class="w-full mt-4"> <div class="flex justify-between items-center"> <div class="flex items-center space-x-2 ml-2 font-bold"> <span class="text-medium font-bold"> è½æäº§ååç±»</span> </div> <div class="text-small text-regular"> æå ³åä½ï¼ 为贯彻è½å®ã䏿µ·å¸èè½åæï¼åºå¯¹æ°åååï¼ä¸é¡¹èµé管çåæ³ï¼æ²ªåæ¹è§èã2021ã5å·ï¼ãåã䏿µ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æå®æ½ç»åãï¼æ²ªç»ä¿¡è§èã2025ã1å·ï¼ï¼è¿ä¸æ¥æ¨è¿æ¬å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°å·¥ä½ï¼ç°ç»ç»å¼å±2025å¹´åº¦ä¸æµ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æèµé项ç®ç³æ¥å·¥ä½ã </div> <div class="flex h-[360px] bg-[#f9f9f9] eec-product-div" v-if="false"> <div class="flex-auto h-full"> <!-- <img src="@/assets/images/china-map.png" alt="è½æäº§å" class="w-full h-full" /> --> <div id="eec-product-map" ref="EecProductMapChartRef"></div> </div> <div class="mt-4"> <div v-for="(item, index) in newsList" :key="index" class="flex text-regular justify-between items-center py-2 news-item" > <div class="flex items-center hover:text-primary w-full" @click="handleNewsClick(item)"> <!-- <div class="w-1.5 h-1.5 rounded-full bg-gray-400 mr-2"></div> --> <div class="w-full text-gray-700 hover:text-blue-500 cursor-pointer text-ellipsis overflow-hidden whitespace-nowrap" > {{ item.title }} <div class="h-fit my-auto px-4 py-4 mx-10 eec-product-num-div"> <div class="h-full bg-[#393939] px-4 py-4 flex-1" style="box-sizing: border-box; background-color: rgb(0 0 0 / 67%)"> <div class="flex flex-col justify-between items-center mb-4 gap-2"> <div class="text-lg font-bold text-[#26c4f6]">å ¨å½è½æäº§åæ»é</div> <div class="px-10 bg-[#d7ecf1] py-1.5 rounded-lg text-large font-bold text-warning"> {{ m_allEecProductNumber }}<span class="text-base text-info-light-3 ml-1">个</span> </div> </div> <!-- <div class="text-gray-400 text-sm">{{ item.date }}</div> --> </div> </div> </div> </div> </div> <!-- æ´»å¨åä½åºå --> <div class="w-full"> <div class="flex justify-between items-center mb-4" style="border-bottom: 1.5px solid var(--alloy-color-primary)"> <div class="flex items-center space-x-2 ml-2 font-bold"> <el-icon class="text-blue-500"><Operation /></el-icon> <span class="text-medium font-bold"> <span class="text-primary">è½æ</span>产å</span> </div> <el-button text @click="routeClick('/certified-products')">æ´å¤</el-button> </div> <div class="flex h-[360px] bg-[#f9f9f9] eec-product-div" v-if="false"> <div class="flex-auto h-full"> <!-- <img src="@/assets/images/china-map.png" alt="è½æäº§å" class="w-full h-full" /> --> <div id="eec-product-map" ref="EecProductMapChartRef"></div> </div> <div class="h-fit my-auto px-4 py-4 mx-10 eec-product-num-div"> <div class="h-full bg-[#393939] px-4 py-4 flex-1" style="box-sizing: border-box; background-color: rgb(0 0 0 / 67%)"> <div class="flex flex-col justify-between items-center mb-4 gap-2"> <div class="text-lg font-bold text-[#26c4f6]">å ¨å½è½æäº§åæ»é</div> <div class="px-10 bg-[#d7ecf1] py-1.5 rounded-lg text-large font-bold text-warning"> {{ m_allEecProductNumber }}<span class="text-base text-info-light-3 ml-1">个</span> <div class="grid grid-cols-1 gap-4 h-[140px]"> <swiper :direction="'vertical'" :slidesPerView="5" :spaceBetween="10" :autoplay="{ delay: 1500, disableOnInteraction: false, }" :modules="SwiperModule" class="mySwiper" > <swiper-slide v-for="(item, index) in cooperationData" :key="index" style="width: 100%; height: 20px"> <div style="height: 100%; width: 100%; display: flex; gap: 4px; justify-content: center"> <span class="text-[#26c4f6]">{{ item.region }}</span> <div> <span class="text-white font-bold">{{ item.count }}</span> <span class="text-sm ml-1" style="color: #aaa">个</span> </div> </div> </swiper-slide> </swiper> </div> </div> <div class="grid grid-cols-1 gap-4 h-[140px]"> <swiper :direction="'vertical'" :slidesPerView="5" :spaceBetween="10" :autoplay="{ delay: 1500, disableOnInteraction: false, }" :modules="SwiperModule" class="mySwiper" > <swiper-slide v-for="(item, index) in cooperationData" :key="index" style="width: 100%; height: 20px"> <div style="height: 100%; width: 100%; display: flex; gap: 4px; justify-content: center"> <span class="text-[#26c4f6]">{{ item.region }}</span> <div> <span class="text-white font-bold">{{ item.count }}</span> <span class="text-sm ml-1" style="color: #aaa">个</span> </div> </div> </swiper-slide> </swiper> </div> </div> </div> </div> </div> <!-- å·¥ä¸è½¯ä»¶åç±»ç»è®¡ --> <div class="w-full bg-[#f6f7f9]"> <!-- <div class="flex justify-between items-center mb-4" style="border-bottom: 1.5px solid var(--alloy-color-primary)"> <div class="flex items-center space-x-2 ml-2 font-bold"> <el-icon class="text-blue-500"><DataLine /></el-icon> <span class="text-medium font-medium">å·¥ä¸è½¯ä»¶ï½å·¥ä¸APP<span class="text-primary">产ååç±»</span></span> <!-- å·¥ä¸è½¯ä»¶åç±»ç»è®¡ --> <div class="w-full bg-[#f6f7f9]"> <!-- <div class="flex justify-between items-center mb-4" style="border-bottom: 1.5px solid var(--alloy-color-primary)"> <div class="flex items-center space-x-2 ml-2 font-bold"> <el-icon class="text-blue-500"><DataLine /></el-icon> <span class="text-medium font-medium">å·¥ä¸è½¯ä»¶ï½å·¥ä¸APP<span class="text-primary">产ååç±»</span></span> </div> </div> --> <div class="text-large flex items-center w-fit mx-auto mt-4 font-bold">è½æäº§ååç±»</div> <div class="flex"> <div class="w-[45%] h-[400px]" ref="pieChartRef"></div> <div class="w-[55%] h-[400px]" ref="barChartRef"></div> </div> </div> --> <div class="text-large flex items-center w-fit mx-auto mt-4 font-bold">è½æäº§ååç±»</div> <div class="flex"> <div class="w-[45%] h-[400px]" ref="pieChartRef"></div> <div class="w-[55%] h-[400px]" ref="barChartRef"></div> </div> </div> </div> <!-- è¿åé¡¶é¨ --> <div id="scroll-to-top" class="group absolute bottom-[100px] z-[30] right-[100px] transition-all duration-300 cursor-pointer" :class="{ 'opacity-0 translate-y-4 fade-leave-active': scrollPercent < 35, 'opacity-100 translate-y-0 fade-enter-active': scrollPercent >= 35, }" v-show="scrollPercent >= 35" @click="scrollToTop" > <div class="w-14 h-14 flex items-center justify-center flex-col cursor-pointer border border-gray-200 hover:bg-blue-50 transition-colors duration-200" > <img src="@/assets/home/Totop.jpg" alt="è¿åé¡¶é¨" class="" /> </div> </div> </div> <!-- æµ®å¨å³ä¾§æ --> <div class="fixed right-[60px] bottom-[128px] z-50"> <div class="flex flex-col"> <!-- è´ç©è½¦ --> <div class="group relative" v-if="false"> <div class="bg-white w-14 h-14 flex items-center justify-center cursor-pointer border border-gray-200 hover:bg-blue-50 transition-colors duration-200" > <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z" /> </svg> </div> <div class="hidden group-hover:block absolute right-full top-0 mr-2 whitespace-nowrap card-hover-style"> <div class="bg-gray-800 text-white text-sm py-1 px-3 rounded text-black" style="text-align: center">è´ç©è½¦</div> </div> </div> <!-- æç --> <div class="group relative" v-if="false"> <div class="bg-white w-14 h-14 flex items-center justify-center cursor-pointer border border-gray-200 hover:bg-blue-50 transition-colors duration-200" > <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" /> </svg> </div> <div class="hidden group-hover:block absolute right-full top-0 mr-2 whitespace-nowrap card-hover-style"> <div class="bg-gray-800 text-white text-sm py-1 px-3 rounded text-black" style="text-align: center">æç</div> </div> </div> <!-- 客æ --> <div class="group relative"> <div class="py-1.5 text-primary bg-white opacity-95 rounded-lg shadow size-19 flex items-center justify-center cursor-pointer border border-gray-200 hover:bg-blue-50 transition-colors duration-200 flex-col" @click="showCustomerService = true" > <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a1.994 1.994 0 01-1.414-.586m0 0L11 14h4a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2v4l.586-.586z" /> </svg> <div class="bg-gray-800 text-sm py-1 px-3 rounded text-primary" style="text-align: center">AI客æ</div> </div> <!-- <div class="hidden group-hover:block absolute right-full top-0 mr-2 whitespace-nowrap card-hover-style"> <img :src="CallMe" width="150" height="150" /> </div> --> </div> <!-- åé¦ --> <!-- <div class="group relative" @click="toFeedBack"> <div class="bg-white w-14 h-14 flex items-center justify-center cursor-pointer border border-gray-200 hover:bg-blue-50 transition-colors duration-200 flex-col" > <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" /> </svg> <div class="bg-gray-800 text-sm py-1 px-3 rounded text-black" style="text-align: center">åé¦</div> </div> </div> <div class="group relative"> <div class="bg-white w-14 h-14 flex items-center justify-center cursor-pointer border border-gray-200 hover:bg-blue-50 transition-colors duration-200 flex-col" > <svg t="1740060002788" class="icon h-6 w-6 text-gray-600" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13742" width="128" height="128" > <path d="M767.818667 409.173333C867.338667 444.266667 938.666667 539.136 938.666667 650.666667c0 42.709333-10.496 83.978667-30.261334 120.842666-1.792 3.338667-4.992 8.928-9.696 16.96l14.613334 53.557334c6.506667 23.893333-15.402667 45.813333-39.296 39.296l-53.642667-14.634667-6.229333 3.669333A254.933333 254.933333 0 0 1 682.666667 906.666667c-77.994667 0-147.84-34.88-194.805334-89.888a352.608 352.608 0 0 1-56.64 4.554666c-63.338667 0-124.266667-16.853333-177.472-48.298666-1.834667-1.088-6.410667-3.733333-13.632-7.893334l-80.544 21.653334c-23.914667 6.432-45.76-15.573333-39.146666-39.434667l21.792-78.752a961.205333 961.205333 0 0 1-15.904-27.317333A336.384 336.384 0 0 1 85.333333 480c0-188.618667 154.965333-341.333333 345.888-341.333333 159.914667 0 297.984 108.010667 335.818667 259.296 0.949333 3.765333 1.173333 7.552 0.778667 11.2z m-68.106667-13.952C662.88 282.037333 555.178667 202.666667 431.221333 202.666667 275.434667 202.666667 149.333333 326.933333 149.333333 480c0 46.272 11.498667 90.837333 33.194667 130.698667 2.88 5.290667 10.176 17.706667 21.621333 36.746666a32 32 0 0 1 3.413334 25.013334l-10.517334 37.994666 39.232-10.549333a32 32 0 0 1 24.234667 3.146667c14.272 8.192 22.773333 13.098667 25.802667 14.890666A283.882667 283.882667 0 0 0 431.221333 757.333333c6.154667 0 12.288-0.192 18.389334-0.576A255.061333 255.061333 0 0 1 426.666667 650.666667c0-141.386667 114.613333-256 256-256 5.728 0 11.413333 0.192 17.045333 0.554666z m133.706667 397.056a32 32 0 0 1 3.338666-24.725333 996.672 996.672 0 0 0 15.242667-26.293333A190.997333 190.997333 0 0 0 874.666667 650.666667c0-106.037333-85.962667-192-192-192s-192 85.962667-192 192 85.962667 192 192 192a190.933333 190.933333 0 0 0 98.570666-27.2c2.208-1.322667 8.288-4.874667 18.517334-10.837334a32 32 0 0 1 24.522666-3.210666l12.565334 3.424-3.424-12.565334zM330.666667 426.666667a42.666667 42.666667 0 1 1 0-85.333334 42.666667 42.666667 0 0 1 0 85.333334z m192 0a42.666667 42.666667 0 1 1 0-85.333334 42.666667 42.666667 0 0 1 0 85.333334z m85.333333 202.666666a32 32 0 1 1 0-64 32 32 0 0 1 0 64z m149.333333 0a32 32 0 1 1 0-64 32 32 0 0 1 0 64z" fill="#000000" p-id="13743" ></path> </svg> <div class="bg-gray-800 text-sm py-1 px-3 rounded text-black" style="text-align: center">微信</div> </div> <div class="hidden group-hover:block absolute right-full top-0 mr-2 whitespace-nowrap card-hover-style"> <img :src="CallMe" width="150" height="150" /> </div> </div> --> <!-- è¿åé¡¶é¨ --> <!-- <div class="group relative" @click="scrollToTop"> <div class="bg-white w-14 h-14 flex items-center justify-center flex-col cursor-pointer border border-gray-200 hover:bg-blue-50 transition-colors duration-200" > <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 text-gray-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" > <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18" /> </svg> <div class="bg-gray-800 text-sm py-1 px-3 rounded text-black" style="text-align: center">é¡¶é¨</div> </div> </div> --> </div> </div> <!-- 客æå¯¹è¯æ¡ --> <customer-service class="fixed right-[150px] bottom-[17px] z-50 w-[440px] h-[calc(80vh-30px)] shadow-lg rounded-lg" @@ -468,12 +352,19 @@ import CustomerService from '@/components/CustomerService.vue'; import { Swiper, SwiperSlide } from 'swiper/vue'; import { Autoplay,EffectFade } from 'swiper/modules'; import { Autoplay, EffectFade, Virtual } from 'swiper/modules'; import 'swiper/css'; import 'swiper/css/effect-fade' import 'swiper/css/effect-fade'; import 'swiper/css/pagination'; const SwiperModule = [Autoplay,EffectFade]; const SwiperModule = [Autoplay, EffectFade, Virtual]; const router = useRouter(); const catalogSwiperRef = ref<HTMLElement | null>(null); const scrollPercent = ref(0); const showCustomerService = ref(false); const newsList = ref([ { @@ -555,7 +446,7 @@ { name: 'çµæº', tag: 7 }, ], curSelectCatalog: 1, catalogSwiperIndex:1, catalogSwiperIndex: 0, catalogItemList: [], m_PageLoading: false, }); @@ -725,7 +616,7 @@ { name: 'å ¶ä»ç±»', value: 53, percentage: '1.30%' }, ]; const pieChart2Ref = ref<HTMLElement | null>(null); const pieChart2Ref = ref<null>(null); const barChart2Ref = ref<HTMLElement | null>(null); const EecProductMapChartRef = ref<HTMLElement | null>(null); @@ -743,9 +634,37 @@ initPipeTwoChart(); initCatalogList(); document.getElementById('app-page')?.addEventListener('scroll', handleScroll); }); }); const handleScroll = () => { const scrollTop = document.getElementById('app-page')?.scrollTop; const scrollHeight = document.getElementById('app-page')?.scrollHeight - document.getElementById('app-page')?.clientHeight; scrollPercent.value = (scrollTop / scrollHeight) * 100; let scrollToTop = document.getElementById('scroll-to-top'); let footer = document.getElementById('app-footer'); // if (footer) { // const footerRect = footer.getBoundingClientRect(); // const viewportHeight = window.innerHeight; // if (footerRect.top > viewportHeight) { // // Footer is not in viewport // if (scrollToTop) { // scrollToTop.style.bottom = '100px'; // } // } else { // // Footer is in viewport // if (scrollToTop) { // const distanceFromFooter = 100; // 100px gap from footer // const newBottom = viewportHeight - footerRect.top + distanceFromFooter; // scrollToTop.style.bottom = `${newBottom}px`; // } // } // } }; const linkClick = () => { router.push('/select-selpara'); }; @@ -762,7 +681,7 @@ router.push(`/news-detail/${item.id}`); }; // åå§åç±»ååè¡¨æ°æ® const initCatalogList = () => { const initCatalogList = (cb: any = null) => { state.m_PageLoading = true; const catalogTag = state.curSelectCatalog; axios({ @@ -806,6 +725,10 @@ arr.push(result.slice(i, i + 15)); } state.catalogItemList = arr; if (cb) { cb(); } }) .catch((err) => { state.m_PageLoading = false; @@ -1214,14 +1137,28 @@ // çå¬äº§åç±»åéæ© const changeCatalog = (type: number) => { state.curSelectCatalog = type; state.catalogSwiperIndex = 1 initCatalogList(); state.catalogSwiperIndex = 0; const cb = () => { catalogSwiperRef.value?.slideTo(state.catalogSwiperIndex, 0); // catalogSwiperRef.value?.autoplay = { // delay: 3000, // disableOnInteraction: false, // pauseOnMouseEnter:true, // }; catalogSwiperRef.value?.update(); }; initCatalogList(cb); }; const onSwiper = (swiper:any)=>{ } const onSlideChange = ()=>{ // 产åç±»åç¹å» const handleCatalogClick = (item: any) => { console.log(item, 'æè¢«ç¹å»äº'); }; } const onSwiper = (swiper: any) => { console.log(swiper); catalogSwiperRef.value = swiper; }; const onSlideChange = () => {}; const toFeedBack = () => { router.push('/feedback'); }; @@ -1231,7 +1168,6 @@ }; const scrollToTop = () => { nextTick(() => { // console.log('æè¢«æå°äº'); document.getElementById('app-page').scrollTo({ top: 0, behavior: 'smooth', @@ -1239,7 +1175,9 @@ }); }; const showCustomerService = ref(false); onUnmounted(() => { document.getElementById('app-page')?.removeEventListener('scroll', handleScroll); }); </script> <style scoped> @@ -1314,13 +1252,11 @@ .news-item { cursor: pointer; border-bottom: 1px solid #e3e3e3; &:first-child { border-top: 1px solid #e3e3e3; } &:last-child { border-bottom: none; } padding: 8px 0px; font-size: 18px; color: #5c5c5c; font-family: 微软é é»; font-weight: 500; } :deep(.customer-service-dialog .el-dialog__body) { @@ -1340,8 +1276,8 @@ align-items: center; cursor: pointer; color: #003a8f; font-size: 24px; line-height: 26px; font-size: 20px; font-weight: 700; &:hover { color: #71b02b; } @@ -1364,12 +1300,149 @@ height: 100%; /* æ¹ä¸º100%以éåºgridå¸å± */ border-radius: 20px; box-sizing: border-box; cursor: pointer; &:hover { img { transform: scale(1.25); transition: all 1s ease; } box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); } } .catalog-tag-active { color: #71b02b !important; } :deep(.catalog-swiper .swiper-slide){ .news-title { font-size: 20px; color: #000000; font-weight: 700; font-family: 微软é é»; } .left-news-temp-div { border: 1px solid #ccc; &::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background-color: #003a8f; } } .right-news-temp-div { /* border-top: 4px solid #003a8f; */ position: relative; &::before { content: ''; position: absolute; top: 0px; left: 0; width: 20%; height: 4px; z-index: 1; background-color: #71b02b; } &::after { content: ''; position: absolute; top: 0px; left: 20%; width: 80%; height: 4px; z-index: 1; background-color: #003a8f; } .new-desc-text { font-size: 16px; color: #656565; line-height: 29px; font-family: 微软é é»; font-weight: 300; } } .news-list-dot { width: 6px; height: 6px; background-image: linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%); } .eec-product-classify-div { position: relative; &::before { content: ''; position: absolute; top: 0px; left: 0; width: 20%; height: 4px; z-index: 1; background-color: #71b02b; } &::after { content: ''; position: absolute; top: 0px; left: 20%; width: 80%; height: 4px; z-index: 1; background-color: #003a8f; } } :deep(.catalog-swiper .swiper-slide) { height: 100% !important; } :deep(.catalog-swiper .swiper-pagination-bullet) { width: 20px; height: 20px; text-align: center; line-height: 20px; font-size: 12px; color: #000; opacity: 1; background: rgba(0, 0, 0, 0.2); } :deep(.catalog-swiper .swiper-pagination-bullet-active) { color: #fff; background: #007aff; } @keyframes fadeIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeOut { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(16px); } } .fade-enter-active { animation: fadeIn 0.3s ease-out; } .fade-leave-active { animation: fadeOut 0.3s ease-out; } </style> src/views/NewsDetail.vue
@@ -1,6 +1,6 @@ <template> <div class="container mx-auto px-4 py-8 bg-white"> <div class="max-w-4xl mx-auto"> <div class=" mx-auto"> <!-- é¢å å±å¯¼èª --> <div class="mb-6 text-gray-500"> <el-breadcrumb separator="/"> @@ -11,8 +11,9 @@ <!-- æç« å 容 --> <div class="article-content"> <h1 class="text-2xl font-bold text-center mb-4">{{ newsDetail.title }}</h1> <div class="flex justify-center items-center text-gray-500 text-sm mb-8"> <h1 class="text-2xl font-bold text-center mb-4 news-title">{{ newsDetail.title }}</h1> <!-- å¯å 容 --> <div class="flex justify-center items-center text-gray-500 text-sm mb-8 news-info"> <span>å叿¶é´ï¼{{ newsDetail.date }}</span> <span class="mx-4">|</span> <span>æ¥æºï¼{{ newsDetail.source }}</span> @@ -25,7 +26,7 @@ <!-- ä¸ä¸ç¯/ä¸ä¸ç¯ --> <div class="mt-8 pt-4 border-t"> <div class="flex flex-col gap-2"> <div v-if="newsDetail.prev" class="text-gray-600 hover:text-blue-500 cursor-pointer"> <div v-if="newsDetail.prev" class="text-[22px] line-height-[32px] text-gray-600 hover:text-blue-500 cursor-pointer"> ä¸ä¸ç¯ï¼<router-link :to="'/news-detail/' + newsDetail.prev.id">{{ newsDetail.prev.title }}</router-link> </div> <div v-if="newsDetail.next" class="text-gray-600 hover:text-blue-500 cursor-pointer"> @@ -97,7 +98,7 @@ }); </script> <style scoped> <style lang="scss" scoped> .prose { font-size: 16px; line-height: 1.75; @@ -112,4 +113,19 @@ .prose p { margin-bottom: 1.25em; } .news-title{ font-family: Microsoft YaHei; font-size: 36px; color: #1d1d1f; font-weight: bold; line-height: 36px; } .news-info{ height: 16px; font-family: Microsoft YaHei; font-weight: 400; font-size: 16px; color: #777777; line-height: 32px; } </style> src/views/mock/newsDetailList.ts
@@ -222,57 +222,57 @@ source: '䏿µ·å¸ç»æµåä¿¡æ¯åå§åä¼', views: 779, content: ` <p class="mb-4">ç¬¬ä¸æ¡ ï¼ç®ç便®ï¼</p> <p class="mb-4">为贯彻è½å®å½å®¶å ³äºæ¨å¨è®¾å¤æ´æ°åæ¶è´¹åä»¥æ§æ¢æ°çå³çé¨ç½²ï¼æ¨è¿æ¬å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°å·¥ä½ï¼æ ¹æ®ãæ¨å¨å¤§è§æ¨¡è®¾å¤æ´æ°åæ¶è´¹åä»¥æ§æ¢æ°è¡å¨æ¹æ¡ãï¼å½åã2024ã7å·ï¼ããæ¨å¨å·¥ä¸é¢åè®¾å¤æ´æ°å®æ½æ¹æ¡ãï¼å·¥ä¿¡é¨èè§ã2024ã53å·ï¼åã䏿µ·å¸æ¨å¨å·¥ä¸é¢åå¤§è§æ¨¡è®¾å¤æ´æ°ååæ°äº§åæ©å¤§åºç¨çä¸é¡¹è¡å¨ãï¼æ²ªç»ä¿¡æã2024ã355å·ï¼çæä»¶ï¼å¶å®æ¬å®æ½ç»åã</p> <p class="mb-4 font-bold text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬ä¸æ¡ ï¼ç®ç便®ï¼</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">为贯彻è½å®å½å®¶å ³äºæ¨å¨è®¾å¤æ´æ°åæ¶è´¹åä»¥æ§æ¢æ°çå³çé¨ç½²ï¼æ¨è¿æ¬å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°å·¥ä½ï¼æ ¹æ®ãæ¨å¨å¤§è§æ¨¡è®¾å¤æ´æ°åæ¶è´¹åä»¥æ§æ¢æ°è¡å¨æ¹æ¡ãï¼å½åã2024ã7å·ï¼ããæ¨å¨å·¥ä¸é¢åè®¾å¤æ´æ°å®æ½æ¹æ¡ãï¼å·¥ä¿¡é¨èè§ã2024ã53å·ï¼åã䏿µ·å¸æ¨å¨å·¥ä¸é¢åå¤§è§æ¨¡è®¾å¤æ´æ°ååæ°äº§åæ©å¤§åºç¨çä¸é¡¹è¡å¨ãï¼æ²ªç»ä¿¡æã2024ã355å·ï¼çæä»¶ï¼å¶å®æ¬å®æ½ç»åã</p> <h2 class="text-xl font-bold my-4">ç¬¬äºæ¡ ï¼æ¯æå¯¹è±¡åèå´ï¼</h2> <p class="mb-4">ç³è¯·èµéæ¯æçå·¥ä¸éä¿¡ä¸ä¼ä¸ï¼åºå½ç¬¦åä¸åæ¡ä»¶ï¼</p> <p class="mb-4">ï¼ä¸ï¼å¨æ¬å¸ç»è®°æ³¨åï¼ç»è¥ç¶ææ£å¸¸ï¼ä¿¡ç¨è®°å½è¯å¥½ï¼è´¢å¡å¶åº¦å¥å ¨ã</p> <p class="mb-4">ï¼äºï¼éè´1çº§è½æã2çº§è½æå符åãéç¹ç¨è½äº§å设å¤è½æå è¿æ°´å¹³ãèè½æ°´å¹³ååå ¥æ°´å¹³ãä¸èè½æ°´å¹³å以ä¸çç¨è½è®¾å¤ï¼ä¸è´ç½®è®¾å¤äº2025å¹´1æ1æ¥è³2025å¹´12æ31æ¥ï¼å«å½æ¥ï¼æå ¥ä½¿ç¨ã</p> <p class="mb-4">ï¼ä¸ï¼è¡¥è´´äº§åå±äºçµæºï¼çµå¨æºãæ°¸ç£åæ¥çµå¨æºãé«åä¸ç¸ç¬¼å弿¥çµå¨æºï¼ãæ³µï¼æ¸ æ°´ç¦»å¿æ³µãç³æ²¹åå·¥ç¦»å¿æ³µãæ½æ°´çµæ³µï¼ã容积å¼ç©ºåæºãé飿ºãå·æ°´æºç»ï¼çæ³µï¼ãçµåååå¨ãå·¥ä¸é ç7大类产åï¼ä¸å·²å¨ä¸å½è½ææ è¯ç½å¤æ¡ã</p> <p class="mb-4">ï¼åï¼å·¥ä¸éä¿¡ä¸ä¼ä¸å¯ä»¥éè¿å¸ç»æµä¿¡æ¯åå§åå¸çä¸ç¨å·¥ä¸åä¾åºé¾å¹³å°(以ä¸ç®ç§°å¹³å°ä¼ä¸)éè´é«æè®¾å¤ï¼ä¹å¯ä»¥éè¿å ¶ä»çº¿ä¸å¹³å°åä¼ ç»çº¿ä¸æ¹å¼éè´é«æè®¾å¤ã</p> <p class="mb-4">åçé大ç¯ä¿ãè´¨éæè å®å ¨äºæ çï¼è¢«å为严é失信主ä½çï¼æè æå ¶ä»éå¤§è¿æ³è¡ä¸ºçä¸äºæ¯æã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬äºæ¡ ï¼æ¯æå¯¹è±¡åèå´ï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">ç³è¯·èµéæ¯æçå·¥ä¸éä¿¡ä¸ä¼ä¸ï¼åºå½ç¬¦åä¸åæ¡ä»¶ï¼</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">ï¼ä¸ï¼å¨æ¬å¸ç»è®°æ³¨åï¼ç»è¥ç¶ææ£å¸¸ï¼ä¿¡ç¨è®°å½è¯å¥½ï¼è´¢å¡å¶åº¦å¥å ¨ã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">ï¼äºï¼éè´1çº§è½æã2çº§è½æå符åãéç¹ç¨è½äº§å设å¤è½æå è¿æ°´å¹³ãèè½æ°´å¹³ååå ¥æ°´å¹³ãä¸èè½æ°´å¹³å以ä¸çç¨è½è®¾å¤ï¼ä¸è´ç½®è®¾å¤äº2025å¹´1æ1æ¥è³2025å¹´12æ31æ¥ï¼å«å½æ¥ï¼æå ¥ä½¿ç¨ã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">ï¼ä¸ï¼è¡¥è´´äº§åå±äºçµæºï¼çµå¨æºãæ°¸ç£åæ¥çµå¨æºãé«åä¸ç¸ç¬¼å弿¥çµå¨æºï¼ãæ³µï¼æ¸ æ°´ç¦»å¿æ³µãç³æ²¹åå·¥ç¦»å¿æ³µãæ½æ°´çµæ³µï¼ã容积å¼ç©ºåæºãé飿ºãå·æ°´æºç»ï¼çæ³µï¼ãçµåååå¨ãå·¥ä¸é ç7大类产åï¼ä¸å·²å¨ä¸å½è½ææ è¯ç½å¤æ¡ã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">ï¼åï¼å·¥ä¸éä¿¡ä¸ä¼ä¸å¯ä»¥éè¿å¸ç»æµä¿¡æ¯åå§åå¸çä¸ç¨å·¥ä¸åä¾åºé¾å¹³å°(以ä¸ç®ç§°å¹³å°ä¼ä¸)éè´é«æè®¾å¤ï¼ä¹å¯ä»¥éè¿å ¶ä»çº¿ä¸å¹³å°åä¼ ç»çº¿ä¸æ¹å¼éè´é«æè®¾å¤ã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">åçé大ç¯ä¿ãè´¨éæè å®å ¨äºæ çï¼è¢«å为严é失信主ä½çï¼æè æå ¶ä»éå¤§è¿æ³è¡ä¸ºçä¸äºæ¯æã</p> <h2 class="text-xl font-bold my-4">ç¬¬ä¸æ¡ ï¼æ¯ææ åï¼</h2> <p class="mb-4">å·¥ä¸éä¿¡ä¸ä¼ä¸éè´é«æè®¾å¤ï¼æç §ä¸è¶ è¿æ°è´1çº§è½æè®¾å¤æèµé¢20%ï¼æ°è´2çº§è½æè®¾å¤æèµé¢15%çæ åäºä»¥è¡¥è´´ï¼æ¯å®¶ä¼ä¸è¡¥è´´æ»é¢ä¸è¶ è¿1000ä¸å ã7大类产åä¸çµæºãæ³µãç©ºåæºã飿ºä»¥é¢å®åç为åä½è¡¥è´´ï¼å·æ°´æºç»ï¼çæ³µï¼ä»¥å¶å·éï¼å¶çéï¼ä¸ºåä½è¡¥è´´ï¼çµåååå¨ä»¥é¢å®å®¹é为åä½è¡¥è´´ï¼å·¥ä¸é ç以è¸å¨ä¸ºåä½è¡¥è´´ã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬ä¸æ¡ ï¼æ¯ææ åï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">å·¥ä¸éä¿¡ä¸ä¼ä¸éè´é«æè®¾å¤ï¼æç §ä¸è¶ è¿æ°è´1çº§è½æè®¾å¤æèµé¢20%ï¼æ°è´2çº§è½æè®¾å¤æèµé¢15%çæ åäºä»¥è¡¥è´´ï¼æ¯å®¶ä¼ä¸è¡¥è´´æ»é¢ä¸è¶ è¿1000ä¸å ã7大类产åä¸çµæºãæ³µãç©ºåæºã飿ºä»¥é¢å®åç为åä½è¡¥è´´ï¼å·æ°´æºç»ï¼çæ³µï¼ä»¥å¶å·éï¼å¶çéï¼ä¸ºåä½è¡¥è´´ï¼çµåååå¨ä»¥é¢å®å®¹é为åä½è¡¥è´´ï¼å·¥ä¸é ç以è¸å¨ä¸ºåä½è¡¥è´´ã</p> <h2 class="text-xl font-bold my-4">ç¬¬åæ¡ ï¼é¨é¨èè´£åå·¥ï¼</h2> <p class="mb-4">å¸ç»æµä¿¡æ¯åå§è´è´£åè°æ¿ç宿½è¿ç¨ä¸çéè¦äºé¡¹ï¼ä¼åç¸å ³é¨é¨å好项ç®å®¡æ ¸ãèµéæ¨ä»å绩æè¯ä»·ï¼å 强åç»ç管ã</p> <p class="mb-4">å¸å屿¹é©å§è´è´£è¡¥è´´èµéçç»ç¹å®æï¼å¹¶ä¸è¾¾èµé使ç¨è®¡åã</p> <p class="mb-4">å¸è´¢æ¿å±è´è´£è¡¥è´´èµéçé¢ç®åæ¨ä»å®¡æ ¸ï¼ç»ç»å ·ä½å®æ½é¨é¨å¯¹è¡¥è´´èµéä½¿ç¨æ åµè¿è¡çç£ç®¡çå绩æè¯ä»·ï¼å 强è¯ä»·ç»æè¿ç¨ã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬åæ¡ ï¼é¨é¨èè´£åå·¥ï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">å¸ç»æµä¿¡æ¯åå§è´è´£åè°æ¿ç宿½è¿ç¨ä¸çéè¦äºé¡¹ï¼ä¼åç¸å ³é¨é¨å好项ç®å®¡æ ¸ãèµéæ¨ä»å绩æè¯ä»·ï¼å 强åç»ç管ã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">å¸å屿¹é©å§è´è´£è¡¥è´´èµéçç»ç¹å®æï¼å¹¶ä¸è¾¾èµé使ç¨è®¡åã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">å¸è´¢æ¿å±è´è´£è¡¥è´´èµéçé¢ç®åæ¨ä»å®¡æ ¸ï¼ç»ç»å ·ä½å®æ½é¨é¨å¯¹è¡¥è´´èµéä½¿ç¨æ åµè¿è¡çç£ç®¡çå绩æè¯ä»·ï¼å 强è¯ä»·ç»æè¿ç¨ã</p> <h2 class="text-xl font-bold my-4">ç¬¬äºæ¡ ï¼å¹³å°ä¼ä¸èè´£ï¼</h2> <p class="mb-4">å¹³å°ä¼ä¸æ ¹æ®è¦æ±åå©å¼å±çº¿ä¸éè´è®¾å¤ç产åå®¡æ ¸ãæ¿çå®£ä¼ æ¨å¹¿çäºå®ï¼å¹¶å®æä¸é¨å¢éåçå¨è¯¢åæè¯å¤ççã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬äºæ¡ ï¼å¹³å°ä¼ä¸èè´£ï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">å¹³å°ä¼ä¸æ ¹æ®è¦æ±åå©å¼å±çº¿ä¸éè´è®¾å¤ç产åå®¡æ ¸ãæ¿çå®£ä¼ æ¨å¹¿çäºå®ï¼å¹¶å®æä¸é¨å¢éåçå¨è¯¢åæè¯å¤ççã</p> <h2 class="text-xl font-bold my-4">ç¬¬å æ¡ ï¼èµéæ¥æºï¼</h2> <p class="mb-4">æ¬æ¬¡è®¾å¤æ´æ°è¡¥è´´èµéä»ä¸æµ·å¸èè½åæï¼åºå¯¹æ°åååï¼ä¸é¡¹èµéä¸ç"å·¥ä¸éä¿¡ä¸èè½åæåååè½æºç®¡çä¸é¡¹"ç»ç¹å®æã</p> <p class="mb-4">妿åç»å½å®¶åºå°å ³äºå·¥ä¸éä¿¡ä¸é¢åç¨è½è®¾å¤æ´æ°çæ°æ¿çï¼æç §å½å®¶ç¸å ³æ¿ç宿½ã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬å æ¡ ï¼èµéæ¥æºï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">æ¬æ¬¡è®¾å¤æ´æ°è¡¥è´´èµéä»ä¸æµ·å¸èè½åæï¼åºå¯¹æ°åååï¼ä¸é¡¹èµéä¸ç"å·¥ä¸éä¿¡ä¸èè½åæåååè½æºç®¡çä¸é¡¹"ç»ç¹å®æã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">妿åç»å½å®¶åºå°å ³äºå·¥ä¸éä¿¡ä¸é¢åç¨è½è®¾å¤æ´æ°çæ°æ¿çï¼æç §å½å®¶ç¸å ³æ¿ç宿½ã</p> <h2 class="text-xl font-bold my-4">ç¬¬ä¸æ¡ ï¼è¡¥è´´èµéç³è¯·ï¼</h2> <p class="mb-4">ç³è¯·è¡¥è´´çå·¥ä¸éä¿¡ä¸ä¼ä¸ï¼æäº¤ä»¥ä¸ç³è¯·ææï¼è½å®ç°å äºæäº¤çï¼å¯ä»¥å äºæäº¤ï¼ï¼</p> <p class="mb-4">1.ã䏿µ·å¸è®¾å¤æ´æ°è¡¥è´´ä¸é¡¹ç³æ¥è¡¨ãï¼</p> <p class="mb-4">2.ä¼ä¸å·¥åè¥ä¸æ§ç §åç¨å¡ç»è®°è¯(å¤å°ä»¶ï¼ï¼</p> <p class="mb-4">3.ææ¯åæ°è¯æææ(å¤å°ä»¶);</p> <p class="mb-4">4.åºå®èµäº§ææ§ç¸å ³è¯æ;</p> <p class="mb-4">5.è®¾å¤æå ¥ä½¿ç¨è¯æï¼</p> <p class="mb-4">6.å¨å¹³å°ä¼ä¸å¤çå ¶ä»æ¸ ééè´çï¼è¿éæä¾è´ç½®ååãå¢å¼ç¨å票ã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬ä¸æ¡ ï¼è¡¥è´´èµéç³è¯·ï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">ç³è¯·è¡¥è´´çå·¥ä¸éä¿¡ä¸ä¼ä¸ï¼æäº¤ä»¥ä¸ç³è¯·ææï¼è½å®ç°å äºæäº¤çï¼å¯ä»¥å äºæäº¤ï¼ï¼</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">1.ã䏿µ·å¸è®¾å¤æ´æ°è¡¥è´´ä¸é¡¹ç³æ¥è¡¨ãï¼</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">2.ä¼ä¸å·¥åè¥ä¸æ§ç §åç¨å¡ç»è®°è¯(å¤å°ä»¶ï¼ï¼</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">3.ææ¯åæ°è¯æææ(å¤å°ä»¶);</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">4.åºå®èµäº§ææ§ç¸å ³è¯æ;</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">5.è®¾å¤æå ¥ä½¿ç¨è¯æï¼</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">6.å¨å¹³å°ä¼ä¸å¤çå ¶ä»æ¸ ééè´çï¼è¿éæä¾è´ç½®ååãå¢å¼ç¨å票ã</p> <h2 class="text-xl font-bold my-4">ç¬¬å «æ¡ ï¼å®¡æ ¸æ¨ä»ï¼</h2> <p class="mb-4">å¸ç»æµä¿¡æ¯åå§ä¼åç¸å ³é¨é¨å¯¹ä¼ä¸æäº¤çç³è¯·ææè¿è¡å®¡æ ¸ï¼ç»é¡¹ç®å审ãä¸å®¶è¯å®¡ã综åè¯å®çæµç¨åï¼å¯¹æéè¿é¡¹ç®è¿è¡å ¬ç¤ºï¼å ¬ç¤ºææ»¡æ å¼è®®çï¼ç±å¸ç»æµä¿¡æ¯åå§åå¸å屿¹é©å§ç³è¯·èµé使ç¨é¢åº¦ï¼å¹¶æç¨åºåå¸è´¢æ¿å±ç³è¯·æ¨ä»ã</p> <p class="mb-4">补贴èµéç³æ¥å ¨å¹´å¼æ¾ï¼éå"å¸¸å¹´ç³æ¥ãå¸¸å¹´å®¡æ ¸ãæ¯å£åº¦é䏿¨ä»"æ¹å¼,ç±ç³æ¥ä¸»ä½éè¿å¸ç»æµä¿¡æ¯åå§ä¸é¡¹èµé项ç®ç®¡ç䏿å¡å¹³å°æåºç³è¯·ã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬å «æ¡ ï¼å®¡æ ¸æ¨ä»ï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">å¸ç»æµä¿¡æ¯åå§ä¼åç¸å ³é¨é¨å¯¹ä¼ä¸æäº¤çç³è¯·ææè¿è¡å®¡æ ¸ï¼ç»é¡¹ç®å审ãä¸å®¶è¯å®¡ã综åè¯å®çæµç¨åï¼å¯¹æéè¿é¡¹ç®è¿è¡å ¬ç¤ºï¼å ¬ç¤ºææ»¡æ å¼è®®çï¼ç±å¸ç»æµä¿¡æ¯åå§åå¸å屿¹é©å§ç³è¯·èµé使ç¨é¢åº¦ï¼å¹¶æç¨åºåå¸è´¢æ¿å±ç³è¯·æ¨ä»ã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">补贴èµéç³æ¥å ¨å¹´å¼æ¾ï¼éå"å¸¸å¹´ç³æ¥ãå¸¸å¹´å®¡æ ¸ãæ¯å£åº¦é䏿¨ä»"æ¹å¼,ç±ç³æ¥ä¸»ä½éè¿å¸ç»æµä¿¡æ¯åå§ä¸é¡¹èµé项ç®ç®¡ç䏿å¡å¹³å°æåºç³è¯·ã</p> <h2 class="text-xl font-bold my-4">ç¬¬ä¹æ¡ ï¼çç£ç®¡çï¼</h2> <p class="mb-4">å·¥ä¸éä¿¡ä¸ä¼ä¸ä¸å¾æä¾èåä¿¡æ¯æè 设置èå交æéªå补贴èµéï¼ä¸å¾å©ç¨è¡¥è´´æ¿çåä¹°åå补贴产åã对å¼èä½åãéªåè´¢æ¿è¡¥è´´èµéçï¼æå ³é¨é¨å°è¿½ç¼´è¡¥è´´èµéï¼å¹¶è§æ è便³è¿½ç©¶æ³å¾è´£ä»»ã</p> <p class="mb-4">å·²ä»å ¶å®æ¸ éè·å¾å¸çº§è´¢æ¿èµéæ¯æç项ç®ï¼ä¸å¾éå¤ç³æ¥ãå·¥ä¸éä¿¡ä¸ä¼ä¸å¯¹è´¢æ¿è¡¥è´´ç³è¯·ææçç宿§è´è´£ã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬ä¹æ¡ ï¼çç£ç®¡çï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">å·¥ä¸éä¿¡ä¸ä¼ä¸ä¸å¾æä¾èåä¿¡æ¯æè 设置èå交æéªå补贴èµéï¼ä¸å¾å©ç¨è¡¥è´´æ¿çåä¹°åå补贴产åã对å¼èä½åãéªåè´¢æ¿è¡¥è´´èµéçï¼æå ³é¨é¨å°è¿½ç¼´è¡¥è´´èµéï¼å¹¶è§æ è便³è¿½ç©¶æ³å¾è´£ä»»ã</p> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">å·²ä»å ¶å®æ¸ éè·å¾å¸çº§è´¢æ¿èµéæ¯æç项ç®ï¼ä¸å¾éå¤ç³æ¥ãå·¥ä¸éä¿¡ä¸ä¼ä¸å¯¹è´¢æ¿è¡¥è´´ç³è¯·ææçç宿§è´è´£ã</p> <h2 class="text-xl font-bold my-4">ç¬¬åæ¡ ï¼åºç¨è§£éï¼</h2> <p class="mb-4">æ¬åæ³ç±å¸ç»æµä¿¡æ¯åå§ãå¸å屿¹é©å§ãå¸è´¢æ¿å±è´è´£è§£éã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">ç¬¬åæ¡ ï¼åºç¨è§£éï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">æ¬åæ³ç±å¸ç»æµä¿¡æ¯åå§ãå¸å屿¹é©å§ãå¸è´¢æ¿å±è´è´£è§£éã</p> <h2 class="text-xl font-bold my-4">第å䏿¡ ï¼å®æ½æ¥æï¼</h2> <p class="mb-4">æ¬å®æ½ç»åèª2025å¹´1æ6æ¥èµ·å®æ½ï¼æææè³2025å¹´12æ31æ¥ã</p> <h2 class="text-xl font-bold my-4 text-[24px] text-[#1d1d1f] line-height-[60px]">第å䏿¡ ï¼å®æ½æ¥æï¼</h2> <p class="mb-4 text-[18px] text-[#1d1d1f] line-height-[60px]">æ¬å®æ½ç»åèª2025å¹´1æ6æ¥èµ·å®æ½ï¼æææè³2025å¹´12æ31æ¥ã</p> <div class="mt-8 border-t pt-8"> <a href="${SERVE_URL}/files/䏿µ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æå®æ½ç»å.docx" class="flex items-center text-blue-500 hover:text-blue-600" download> <div class="mt-8 border-t pt-8 flex justify-center items-center line-height-[32px]"> <a href="${SERVE_URL}/files/䏿µ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æå®æ½ç»å.docx" class="text-[30px] text-[#003a8f] flex items-center text-blue-500 hover:text-blue-600" download> <i class="el-icon-download mr-2"></i> <span>䏿µ·å¸å·¥ä¸éä¿¡ä¸ç¨è½è®¾å¤æ´æ°ä¸é¡¹æ¶æå®æ½ç»å.docx</span> <span class="text-gray-500 ml-2">18KB</span>