import { defineComponent, ref, mergeProps, unref, withCtx, createVNode, openBlock, createBlock, createCommentVNode, Fragment, renderList, computed, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrRenderAttr, ssrInterpolate, ssrRenderStyle } from 'vue/server-renderer'; import { Swiper, SwiperSlide } from 'swiper/vue'; import { Mousewheel, Pagination, Autoplay, Navigation, EffectFade } from 'swiper/modules'; import { _ as _export_sfc, a as __nuxt_component_5, n as navigateTo } from './server.mjs'; import { _ as __nuxt_component_2$1, a as __nuxt_component_3 } from './QualificationHonor-WKOjdncI.mjs'; import { _ as __nuxt_component_1$1 } from './CustomTitle-2eWUrzRV.mjs'; import { p as publicAssetsURL } from '../routes/renderer.mjs'; import { useRouter } from 'vue-router'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; import 'axios'; import 'vue-bundle-renderer/runtime'; import 'unhead/server'; import 'devalue'; import 'unhead/plugins'; import 'unhead/utils'; const _sfc_main$4 = /* @__PURE__ */ defineComponent({ __name: "BannerSwiper", __ssrInlineRender: true, props: { banners: { type: Array, required: true, validator: (val) => Array.isArray(val) && val.every( (item) => typeof item === "object" && item !== null && "url" in item ) }, // 自动播放配置 autoplay: { type: Object, default: () => ({ delay: 3e3, // 3秒切换一次 disableOnInteraction: false // 点击后不停止自动播放 }) }, // 轮播效果:slide(默认)/ fade(渐变) effect: { type: String, default: "slide", validator: (val) => typeof val === "string" && ["slide", "fade"].includes(val) }, // 是否显示分页器 showPagination: { type: Boolean, default: true }, // 是否显示左右切换按钮 showNavigation: { type: Boolean, default: true } }, emits: ["onClickMore"], setup(__props, { emit: __emit }) { const emit = __emit; const props = __props; const modules = [Autoplay, Pagination, Navigation, EffectFade]; const swiperRef = ref(null); const autoplayOptions = ref({ ...props.autoplay }); const paginationOptions = ref({ clickable: true, enabled: props.showPagination }); const navigationOptions = ref({ nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", enabled: props.showNavigation }); const onClickMore = (item) => { emit("onClickMore", item); }; return (_ctx, _push, _parent, _attrs) => { _push(``); _push(ssrRenderComponent(unref(Swiper), { ref_key: "swiperRef", ref: swiperRef, modules, "slides-per-view": 1, "space-between": 0, autoplay: autoplayOptions.value, loop: true, lazy: true, "preload-images": true, pagination: paginationOptions.value, navigation: navigationOptions.value, effect: __props.effect, class: "w-full h-full" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(``); ssrRenderList(__props.banners, (item, index2) => { _push2(ssrRenderComponent(unref(SwiperSlide), { key: index2, class: "w-full h-full" }, { default: withCtx((_2, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(`
`); if (item.title) { _push3(``); } else { _push3(``); } if (item.describe) { _push3(``); } else { _push3(``); } if (item?.jump_config?.web_link) { _push3(``); } else { _push3(``); } _push3(`
`); } else { return [ createVNode("img", { src: item.url, alt: item.alt || `Banner ${index2 + 1}`, class: "object-cover w-full h-full" }, null, 8, ["src", "alt"]), createVNode("div", { class: "absolute inset-0 w-full h-full" }, [ createVNode("div", { class: "flex flex-col justify-center items-start h-full layout" }, [ item.title ? (openBlock(), createBlock("div", { key: 0, class: "banner-title text-[24px] sm:text-[28px] md:text-[34px] lg:text-[44px] xl:text-[60px] 2xl:text-[72px] text-white font-bold leading-tight", innerHTML: item.title }, null, 8, ["innerHTML"])) : createCommentVNode("", true), item.describe ? (openBlock(), createBlock("div", { key: 1, class: "banner-desc mt-[6px] sm:mt-[10px] md:mt-[12px] lg:mt-[14px] xl:mt-[16px] text-[14px] sm:text-[16px] md:text-[20px] lg:text-[26px] xl:text-[36px] 2xl:text-[42px] text-white font-medium opacity-90 leading-snug", innerHTML: item.describe }, null, 8, ["innerHTML"])) : createCommentVNode("", true), item?.jump_config?.web_link ? (openBlock(), createBlock("div", { key: 2, class: "banner-btn mt-[10px] sm:mt-[16px] md:mt-[18px] xl:mt-[24px]" }, [ createVNode("button", { type: "button", onClick: () => onClickMore(item), class: "bg-white px-[16px] sm:px-[22px] md:px-[24px] xl:px-[28px] h-[32px] sm:h-[38px] md:h-[40px] xl:h-[44px] text-[13px] sm:text-[14px] md:text-[15px] xl:text-[16px] font-medium text-[#2D75B5] cursor-pointer hover:bg-[#2D75B5] hover:text-white transition-colors duration-300 flex items-center justify-center" }, " 了解更多 >> ", 8, ["onClick"]) ])) : createCommentVNode("", true) ]) ]) ]; } }), _: 2 }, _parent2, _scopeId)); }); _push2(``); } else { return [ (openBlock(true), createBlock(Fragment, null, renderList(__props.banners, (item, index2) => { return openBlock(), createBlock(unref(SwiperSlide), { key: index2, class: "w-full h-full" }, { default: withCtx(() => [ createVNode("img", { src: item.url, alt: item.alt || `Banner ${index2 + 1}`, class: "object-cover w-full h-full" }, null, 8, ["src", "alt"]), createVNode("div", { class: "absolute inset-0 w-full h-full" }, [ createVNode("div", { class: "flex flex-col justify-center items-start h-full layout" }, [ item.title ? (openBlock(), createBlock("div", { key: 0, class: "banner-title text-[24px] sm:text-[28px] md:text-[34px] lg:text-[44px] xl:text-[60px] 2xl:text-[72px] text-white font-bold leading-tight", innerHTML: item.title }, null, 8, ["innerHTML"])) : createCommentVNode("", true), item.describe ? (openBlock(), createBlock("div", { key: 1, class: "banner-desc mt-[6px] sm:mt-[10px] md:mt-[12px] lg:mt-[14px] xl:mt-[16px] text-[14px] sm:text-[16px] md:text-[20px] lg:text-[26px] xl:text-[36px] 2xl:text-[42px] text-white font-medium opacity-90 leading-snug", innerHTML: item.describe }, null, 8, ["innerHTML"])) : createCommentVNode("", true), item?.jump_config?.web_link ? (openBlock(), createBlock("div", { key: 2, class: "banner-btn mt-[10px] sm:mt-[16px] md:mt-[18px] xl:mt-[24px]" }, [ createVNode("button", { type: "button", onClick: () => onClickMore(item), class: "bg-white px-[16px] sm:px-[22px] md:px-[24px] xl:px-[28px] h-[32px] sm:h-[38px] md:h-[40px] xl:h-[44px] text-[13px] sm:text-[14px] md:text-[15px] xl:text-[16px] font-medium text-[#2D75B5] cursor-pointer hover:bg-[#2D75B5] hover:text-white transition-colors duration-300 flex items-center justify-center" }, " 了解更多 >> ", 8, ["onClick"]) ])) : createCommentVNode("", true) ]) ]) ]), _: 2 }, 1024); }), 128)) ]; } }), _: 1 }, _parent)); _push(``); }; } }); const _sfc_setup$4 = _sfc_main$4.setup; _sfc_main$4.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/BannerSwiper.vue"); return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0; }; const __nuxt_component_0 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$4, [["__scopeId", "data-v-fbea4d53"]]), { __name: "BannerSwiper" }); const _imports_0 = publicAssetsURL("/images/首页/了解更多业务.png"); const _sfc_main$3 = /* @__PURE__ */ defineComponent({ __name: "MainBusiness", __ssrInlineRender: true, props: { list: { default: () => [] } }, setup(__props) { useRouter(); const props = __props; const dataList = computed(() => props.list); return (_ctx, _push, _parent, _attrs) => { const _component_CustomTitle = __nuxt_component_1$1; _push(`
`); _push(ssrRenderComponent(_component_CustomTitle, { title: "主营业务" }, null, _parent)); _push(`
`); ssrRenderList(dataList.value, (data) => { _push(`

${ssrInterpolate(data.name)}

`); if (data.desc) { _push(`

${ssrInterpolate(data.desc)}

`); } else { _push(``); } _push(`
`); }); _push(`
更多业务图片
了解更多业务
`); }; } }); const _sfc_setup$3 = _sfc_main$3.setup; _sfc_main$3.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/MainBusiness.vue"); return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0; }; const __nuxt_component_2 = Object.assign(_sfc_main$3, { __name: "MainBusiness" }); const _sfc_main$2 = { __name: "PartnerScroll", __ssrInlineRender: true, props: { // 第一行数据 partners1: { type: Array, required: true, default: () => [] }, // 第二行数据 partners2: { type: Array, required: true, default: () => [] }, // 第一行滚动时长(秒) duration1: { type: Number, default: 25 }, // 第二行滚动时长(秒) duration2: { type: Number, default: 30 }, itemWidth: { type: String, default: "220px" }, itemHeight: { type: String, default: "90px" }, // 行间距 rowGap: { type: String, default: "24px" } }, setup(__props) { return (_ctx, _push, _parent, _attrs) => { const _cssVars = { style: { ":--v02b74dfc": __props.rowGap, ":--v6a738313": __props.itemWidth, ":--v6ba4350c": __props.itemHeight } }; _push(`
`); ssrRenderList(__props.partners1, (item, index2) => { _push(`
`); }); _push(`
`); ssrRenderList(__props.partners1, (item, index2) => { _push(`
`); }); _push(`
`); ssrRenderList(__props.partners2, (item, index2) => { _push(`
`); }); _push(`
`); ssrRenderList(__props.partners2, (item, index2) => { _push(`
`); }); _push(`
`); }; } }; const _sfc_setup$2 = _sfc_main$2.setup; _sfc_main$2.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/PartnerScroll.vue"); return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; }; const __nuxt_component_1 = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-e4eb4a4e"]]); const _sfc_main$1 = /* @__PURE__ */ defineComponent({ __name: "Partner", __ssrInlineRender: true, setup(__props) { const partnerList = ref([]); return (_ctx, _push, _parent, _attrs) => { const _component_CustomTitle = __nuxt_component_1$1; const _component_PartnerScroll = __nuxt_component_1; _push(`
`); _push(ssrRenderComponent(_component_CustomTitle, { title: "合作伙伴" }, null, _parent)); _push(ssrRenderComponent(_component_PartnerScroll, { class: "mt-[20px] xl:mt-[20px]", partners1: partnerList.value, partners2: partnerList.value, duration1: 50, duration2: 60, "item-width": "220px", "item-height": "50px", "row-gap": "14px" }, null, _parent)); _push(`
`); }; } }); const _sfc_setup$1 = _sfc_main$1.setup; _sfc_main$1.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Partner.vue"); return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; }; const __nuxt_component_4 = Object.assign(_sfc_main$1, { __name: "Partner" }); const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", __ssrInlineRender: true, setup(__props) { const modules = [Mousewheel, Pagination]; ref(false); const companyProfileText = ref( '广西富琳清洁服务有限公司,成立于2016年,是一家拥有清洁服务与园林绿化养护"国家双一级资质"的综合性环境服务商。\n我们以专业保洁、园林养护、垃圾清运、水域保洁及专业消杀为主营业务,为政府、企业及各类机构提供一体化环境解决方案。公司拥有超千人员工团队,业务覆盖4+省市,累计服务面积突破950万平方米,以"专业铸就品质,细节决定成败"的理念,致力于成为值得信赖的环境合作伙伴。' ); const bannerList = ref([]); const mainBusinessList = ref([]); const onClickBannerMore = (item) => { const link = item.jump_config?.web_link; if (link) { if (link.startsWith("http")) (void 0).open(link, "_blank"); else navigateTo(link); } }; const honorCateList = ref([]); const honorsByCategoryId = ref({}); return (_ctx, _push, _parent, _attrs) => { const _component_BannerSwiper = __nuxt_component_0; const _component_CompanyProfile = __nuxt_component_2$1; const _component_MainBusiness = __nuxt_component_2; const _component_QualificationHonor = __nuxt_component_3; const _component_Partner = __nuxt_component_4; const _component_AppFooter = __nuxt_component_5; _push(``); _push(ssrRenderComponent(unref(Swiper), { modules, direction: "vertical", "slides-per-view": "auto", "space-between": 0, speed: 1e3, mousewheel: { releaseOnEdges: true, sensitivity: 1 }, pagination: { clickable: true }, class: "home-fullpage-swiper" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(ssrRenderComponent(unref(SwiperSlide), { class: "home-banner-slide h-[250px] sm:h-[380px] lg:h-[500px] xl:h-full" }, { default: withCtx((_2, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(`
`); _push3(ssrRenderComponent(_component_BannerSwiper, { banners: bannerList.value, effect: "fade", autoplay: { delay: 4e3 }, onOnClickMore: onClickBannerMore }, null, _parent3, _scopeId2)); _push3(`
`); } else { return [ createVNode("section", { class: "w-full home-fullpage-section home-banner-section" }, [ createVNode(_component_BannerSwiper, { banners: bannerList.value, effect: "fade", autoplay: { delay: 4e3 }, onOnClickMore: onClickBannerMore }, null, 8, ["banners"]) ]) ]; } }), _: 1 }, _parent2, _scopeId)); _push2(ssrRenderComponent(unref(SwiperSlide), null, { default: withCtx((_2, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(`
`); _push3(ssrRenderComponent(_component_CompanyProfile, { text: companyProfileText.value }, null, _parent3, _scopeId2)); _push3(`
`); } else { return [ createVNode("section", { class: "w-full home-fullpage-section" }, [ createVNode(_component_CompanyProfile, { text: companyProfileText.value }, null, 8, ["text"]) ]) ]; } }), _: 1 }, _parent2, _scopeId)); _push2(ssrRenderComponent(unref(SwiperSlide), null, { default: withCtx((_2, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(`
`); _push3(ssrRenderComponent(_component_MainBusiness, { list: mainBusinessList.value }, null, _parent3, _scopeId2)); _push3(`
`); } else { return [ createVNode("section", { class: "w-full home-fullpage-section" }, [ createVNode(_component_MainBusiness, { list: mainBusinessList.value }, null, 8, ["list"]) ]) ]; } }), _: 1 }, _parent2, _scopeId)); _push2(ssrRenderComponent(unref(SwiperSlide), null, { default: withCtx((_2, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(`
`); _push3(ssrRenderComponent(_component_QualificationHonor, { "tab-list": honorCateList.value, "honors-by-category": honorsByCategoryId.value }, null, _parent3, _scopeId2)); _push3(`
`); } else { return [ createVNode("section", { class: "w-full home-fullpage-section" }, [ createVNode(_component_QualificationHonor, { "tab-list": honorCateList.value, "honors-by-category": honorsByCategoryId.value }, null, 8, ["tab-list", "honors-by-category"]) ]) ]; } }), _: 1 }, _parent2, _scopeId)); _push2(ssrRenderComponent(unref(SwiperSlide), { class: "home-last-slide" }, { default: withCtx((_2, _push3, _parent3, _scopeId2) => { if (_push3) { _push3(`
`); _push3(ssrRenderComponent(_component_Partner, null, null, _parent3, _scopeId2)); _push3(ssrRenderComponent(_component_AppFooter, null, null, _parent3, _scopeId2)); _push3(`
`); } else { return [ createVNode("section", { class: "w-full home-fullpage-section home-fullpage-section-5" }, [ createVNode("div", null, [ createVNode(_component_Partner), createVNode(_component_AppFooter) ]) ]) ]; } }), _: 1 }, _parent2, _scopeId)); } else { return [ createVNode(unref(SwiperSlide), { class: "home-banner-slide h-[250px] sm:h-[380px] lg:h-[500px] xl:h-full" }, { default: withCtx(() => [ createVNode("section", { class: "w-full home-fullpage-section home-banner-section" }, [ createVNode(_component_BannerSwiper, { banners: bannerList.value, effect: "fade", autoplay: { delay: 4e3 }, onOnClickMore: onClickBannerMore }, null, 8, ["banners"]) ]) ]), _: 1 }), createVNode(unref(SwiperSlide), null, { default: withCtx(() => [ createVNode("section", { class: "w-full home-fullpage-section" }, [ createVNode(_component_CompanyProfile, { text: companyProfileText.value }, null, 8, ["text"]) ]) ]), _: 1 }), createVNode(unref(SwiperSlide), null, { default: withCtx(() => [ createVNode("section", { class: "w-full home-fullpage-section" }, [ createVNode(_component_MainBusiness, { list: mainBusinessList.value }, null, 8, ["list"]) ]) ]), _: 1 }), createVNode(unref(SwiperSlide), null, { default: withCtx(() => [ createVNode("section", { class: "w-full home-fullpage-section" }, [ createVNode(_component_QualificationHonor, { "tab-list": honorCateList.value, "honors-by-category": honorsByCategoryId.value }, null, 8, ["tab-list", "honors-by-category"]) ]) ]), _: 1 }), createVNode(unref(SwiperSlide), { class: "home-last-slide" }, { default: withCtx(() => [ createVNode("section", { class: "w-full home-fullpage-section home-fullpage-section-5" }, [ createVNode("div", null, [ createVNode(_component_Partner), createVNode(_component_AppFooter) ]) ]) ]), _: 1 }) ]; } }), _: 1 }, _parent)); _push(``); }; } }); const _sfc_setup = _sfc_main.setup; _sfc_main.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/home/index.vue"); return _sfc_setup ? _sfc_setup(props, ctx) : void 0; }; const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1443efa7"]]); export { index as default }; //# sourceMappingURL=index-DrkkSDLH.mjs.map