generated from liutk/owl-admin-base
229 lines
14 KiB
JavaScript
229 lines
14 KiB
JavaScript
import { _ as __nuxt_component_0 } from './HeaderImage-92nFA80c.mjs';
|
||
import { _ as __nuxt_component_1 } from './TabsHeader-C0yMA2hS.mjs';
|
||
import { _ as __nuxt_component_2, a as __nuxt_component_3 } from './QualificationHonor-WKOjdncI.mjs';
|
||
import { _ as __nuxt_component_1$1 } from './CustomTitle-2eWUrzRV.mjs';
|
||
import { defineComponent, ref, watch, withAsyncContext, mergeProps, isRef, unref, useSSRContext } from 'vue';
|
||
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrInterpolate, ssrRenderAttr } from 'vue/server-renderer';
|
||
import { p as publicAssetsURL } from '../routes/renderer.mjs';
|
||
import { u as useRequest } from './useRequest-pSRZvR3u.mjs';
|
||
import { _ as _export_sfc } from './server.mjs';
|
||
import './virtual_public-Ch4_18y6.mjs';
|
||
import 'vue-router';
|
||
import 'vue-bundle-renderer/runtime';
|
||
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 'unhead/server';
|
||
import 'devalue';
|
||
import 'unhead/plugins';
|
||
import 'unhead/utils';
|
||
import 'axios';
|
||
|
||
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
||
__name: "TimeItem",
|
||
__ssrInlineRender: true,
|
||
props: {
|
||
year: {},
|
||
content: {}
|
||
},
|
||
setup(__props) {
|
||
return (_ctx, _push, _parent, _attrs) => {
|
||
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex flex-col items-start shrink-0 w-[189px] sm:w-[220px] md:w-[270px] lg:w-[320px] xl:w-[339px]" }, _attrs))}><div class="flex"><div class="flex flex-col items-center ml-[6px] sm:ml-[8px] md:ml-[10px] lg:ml-[10px] xl:ml-[10px]"><div class="text-[18px] sm:text-[22px] md:text-[28px] lg:text-[34px] xl:text-[38px] font-bold text-[#336DF6] leading-none">${ssrInterpolate(__props.year)}</div><div class="mt-[6px] sm:mt-[8px] w-[15px] h-[15px] sm:w-[18px] sm:h-[18px] md:w-[22px] md:h-[22px] lg:w-[28px] lg:h-[28px] xl:w-[38px] xl:h-[38px] shrink-0 rounded-full bg-[#336DF6] border-[4px] sm:border-[4px] md:border-4 xl:border-[8px] border-[#DDEAFF] relative z-10"></div><div class="-ml-[1px] z-[1]"><div class="w-[1px] xl:w-[2px] shrink-0 h-[40px] sm:h-[48px] md:h-[60px] lg:h-[68px] xl:h-[76px] bg-[#336DF6]"></div></div><div class="-ml-[1px] z-[1]"><div class="w-[8px] h-[8px] sm:w-[8px] sm:h-[8px] md:w-[9px] md:h-[9px] lg:w-[10px] lg:h-[10px] xl:w-[12px] xl:h-[12px] rounded-full border-[1px] border-[#336DF6] bg-white shrink-0"></div></div></div></div><div class="bg-[#F8FBFF] rounded-[5px] sm:rounded-[10px] text-[#666666] w-[170px] h-[67px] p-[16px] sm:w-[220px] sm:h-[87px] sm:p-[20px] md:w-[270px] md:h-[107px] md:p-[24px] lg:w-[320px] lg:h-[126px] lg:p-[32px] xl:w-[339px] xl:h-[134px] xl:p-[40px] -mt-[24px] sm:-mt-[36px] md:-mt-[44px] lg:-mt-[54px] xl:-mt-[60px]"><div class="ml-[20px] sm:ml-[24px] md:ml-[26px] lg:ml-[28px] xl:ml-[30px] text-[10px] sm:text-[12px] md:text-[14px] lg:text-[15px] xl:text-[16px] whitespace-pre-line leading-relaxed">${ssrInterpolate(__props.content)}</div></div></div>`);
|
||
};
|
||
}
|
||
});
|
||
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/TimeItem.vue");
|
||
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
||
};
|
||
const __nuxt_component_5 = Object.assign(_sfc_main$1, { __name: "TimeItem" });
|
||
const _imports_0 = publicAssetsURL("/images/关于我们/culbg1.png");
|
||
const _sfc_main = /* @__PURE__ */ defineComponent({
|
||
__name: "index",
|
||
__ssrInlineRender: true,
|
||
async setup(__props) {
|
||
let __temp, __restore;
|
||
const anchorList = ref([]);
|
||
const activeAnchor = ref("companyProfile");
|
||
const companyProfileText = ref(
|
||
"广西富琳清洁服务有限公司成立于 2016 年 6 月 28 日,注册资金 500 万元,是一家具有独立法人资格的综合性专业服务公司。公司核心业务集清洁服务、园林绿化养护、城乡市政道路清扫、消杀 “除四害” 服务、城市园林绿化工程、城市公园清洁等于一体,并延伸提供地毯清洗、地面打蜡、晶面处理、大理石翻新等专项服务,以及城市生活垃圾经营性收集、运输、处理的全链条解决方案。\n公司实力与专业资质备受认可,拥有中华人民共和国园林绿化养护服务企业资质 “国家一级” 和环卫清洁服务行业登记资质 “国家一级”,并获评企业信用评价 AAA 级信用企业。公司管理制度完善,作业经验丰富,专业技术全面,督察管理严格,服务质量过硬。目前拥有员工 1000 余人,其中本科、大专学历管理人员 6 人,持有物业管理、园艺师、安全工程师等专业资质的管理人员 8 人,具备 8 年以上绿化、清洁专业管理经验的人员 30 人。截至 2025 年,公司合约管理面积已突破 950 万平方米,全年营业收入达 2600 万元。\n历经多年发展,公司服务网络已遍及广西、湖南、广东、重庆等多个省市,主要服务于住宅小区、商务写字楼、市政道路及企业工厂等各类公共场所,现已成为广西区域同行业中具有规范化、专业化水平的知名清洁、绿化、消杀服务商。我们始终秉持 “专业铸就品质,细节决定成败” 的服务理念,凭借完善的作业制度和严格的质量督查体系,通过规范化管理与高效团队协作,致力于成为值得客户长期信赖的环境服务合作伙伴。"
|
||
);
|
||
const cultureList = ref([]);
|
||
const developmentHistory = ref([]);
|
||
anchorList.value = [
|
||
{
|
||
name: "企业简介",
|
||
id: "companyProfile"
|
||
},
|
||
{
|
||
name: "企业文化",
|
||
id: "corporateCulture"
|
||
},
|
||
{
|
||
name: "资质荣誉",
|
||
id: "qualificationsAndHonors"
|
||
},
|
||
{
|
||
name: "团队实力",
|
||
id: "teamStrength"
|
||
},
|
||
{
|
||
name: "发展历程",
|
||
id: "developmentHistory"
|
||
}
|
||
];
|
||
function scrollToAnchor(id) {
|
||
const el = (void 0).getElementById(id);
|
||
if (el) {
|
||
el.scrollIntoView({ behavior: "smooth", block: "start" });
|
||
}
|
||
}
|
||
watch(
|
||
activeAnchor,
|
||
(val) => {
|
||
scrollToAnchor(val);
|
||
},
|
||
{ immediate: false }
|
||
);
|
||
const honorCateList = ref([]);
|
||
const honorsByCategoryId = ref({});
|
||
const request = useRequest();
|
||
async function fetchHonorData() {
|
||
try {
|
||
const cateRes = await request.get("/api/honor_cates");
|
||
if (cateRes?.code !== 200 || !Array.isArray(cateRes.data) || cateRes.data.length === 0) return;
|
||
honorCateList.value = cateRes.data;
|
||
const map = {};
|
||
for (const cate of cateRes.data) {
|
||
try {
|
||
const honorRes = await request.get("/api/honors", { params: { category: cate.id } });
|
||
if (honorRes?.code === 200 && Array.isArray(honorRes.data)) {
|
||
map[cate.id] = honorRes.data.map((item) => ({
|
||
name: item.title,
|
||
url: item.cover,
|
||
year: item.awarded_date ? String(item.awarded_date).slice(0, 4) : ""
|
||
}));
|
||
} else {
|
||
map[cate.id] = [];
|
||
}
|
||
} catch {
|
||
map[cate.id] = [];
|
||
}
|
||
}
|
||
honorsByCategoryId.value = map;
|
||
} catch (e) {
|
||
honorCateList.value = [];
|
||
honorsByCategoryId.value = {};
|
||
}
|
||
}
|
||
async function fetchTimeline() {
|
||
try {
|
||
const res = await request.get("/api/timelines");
|
||
if (res?.code !== 200 || !Array.isArray(res.data)) {
|
||
developmentHistory.value = [];
|
||
return;
|
||
}
|
||
developmentHistory.value = res.data.map((item) => ({
|
||
year: item.title || (item.awarded_date ? String(item.awarded_date).slice(0, 4) : ""),
|
||
content: item.description || ""
|
||
}));
|
||
} catch {
|
||
developmentHistory.value = [];
|
||
}
|
||
}
|
||
[__temp, __restore] = withAsyncContext(() => fetchHonorData()), await __temp, __restore();
|
||
[__temp, __restore] = withAsyncContext(() => fetchTimeline()), await __temp, __restore();
|
||
cultureList.value = [
|
||
{
|
||
name: "企业愿景",
|
||
text: "成为西南地区领先、面向全国的综合环境服务标杆企业。"
|
||
},
|
||
{
|
||
name: "企业使命",
|
||
text: "以专业服务守护绿水青山,用绿色理念赋能美丽城乡。"
|
||
},
|
||
{
|
||
name: "核心价值观",
|
||
text: "专业专注、诚信尽责、精益求精、协作共赢、绿色发展。"
|
||
},
|
||
{
|
||
name: "企业精神",
|
||
text: "敬业、务实、诚信、创新。"
|
||
},
|
||
{
|
||
name: "服务理念",
|
||
text: "专业铸就品质,细节决定成败。"
|
||
},
|
||
{
|
||
name: "管理理念",
|
||
text: "制度为纲,人才为本。"
|
||
}
|
||
];
|
||
return (_ctx, _push, _parent, _attrs) => {
|
||
const _component_HeaderImage = __nuxt_component_0;
|
||
const _component_TabsHeader = __nuxt_component_1;
|
||
const _component_CompanyProfile = __nuxt_component_2;
|
||
const _component_QualificationHonor = __nuxt_component_3;
|
||
const _component_CustomTitle = __nuxt_component_1$1;
|
||
const _component_TimeItem = __nuxt_component_5;
|
||
_push(`<div${ssrRenderAttrs(mergeProps({ class: "w-full" }, _attrs))} data-v-2145db32>`);
|
||
_push(ssrRenderComponent(_component_HeaderImage, {
|
||
title: "关于我们",
|
||
img: "/images/关于我们/图层-2.png"
|
||
}, null, _parent));
|
||
_push(ssrRenderComponent(_component_TabsHeader, {
|
||
tabs: unref(anchorList),
|
||
activeTab: unref(activeAnchor),
|
||
"onUpdate:activeTab": ($event) => isRef(activeAnchor) ? activeAnchor.value = $event : null,
|
||
title: "关于我们"
|
||
}, null, _parent));
|
||
_push(`<div class="w-full pb-[40px] xl:pb-[30px]" data-v-2145db32><section id="companyProfile" class="scroll-mt-20 xl:scroll-mt-[220px] w-full mt-[39px]" data-v-2145db32>`);
|
||
_push(ssrRenderComponent(_component_CompanyProfile, {
|
||
text: unref(companyProfileText),
|
||
"is-show-more": false,
|
||
"body-size-class": "text-[12px] sm:text-[14px] md:text-[15px] lg:text-[16px] xl:text-[16px]"
|
||
}, null, _parent));
|
||
_push(`</section><section id="corporateCulture" class="sm:scroll-mt-20 xl:scroll-mt-[220px] w-full relative overflow-auto pt-[24px] pb-[147px] sm:pt-[27px] sm:pb-[40px] md:pb-[60px] lg:pb-[80px] xl:pt-[69px] xl:pb-[8px] lg:flex lg:flex-col lg:items-center xl:flex xl:flex-row xl:justify-center bg-[url('/images/关于我们/企业文化背景.png')] bg-no-repeat bg-center bg-cover" data-v-2145db32><div class="flex flex-col z-[2] layout w-full" data-v-2145db32><span class="text-[21px] sm:text-[26px] md:text-[32px] lg:text-[38px] xl:text-[42px] text-[#FFFFFF] font-bold tracking-wide sm:tracking-wider" data-v-2145db32> 企业文化 </span><div class="flex flex-col xl:flex-row xl:flex-wrap gap-[24px] sm:gap-[26px] lg:gap-[28px] xl:gap-[18px] mt-[34px] sm:mt-[27px] lg:mt-[32px] xl:mt-[69px] w-full" data-v-2145db32><!--[-->`);
|
||
ssrRenderList(unref(cultureList), (culture) => {
|
||
_push(`<div class="w-full xl:flex-1 xl:min-w-0 pt-[10px] pb-[10px] pl-[12px] pr-[12px] sm:pt-[14px] sm:pb-[14px] sm:px-[16px] md:pt-[16px] md:pb-[16px] md:px-[18px] lg:pt-[18px] lg:pb-[20px] lg:px-[20px] xl:pt-[15px] xl:pb-[18px] xl:px-[20px] border-t border-[#3784B0] flex flex-col min-h-[65px] sm:min-h-[100px] md:min-h-[140px] lg:min-h-[200px] xl:min-h-[520px] bg-[#3784B0] bg-opacity-[0.2] transition-all duration-300 ease-in-out hover:shadow-lg" data-v-2145db32><span class="text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] xl:text-[24px] text-[#FFFFFF] font-bold tracking-wide" data-v-2145db32>${ssrInterpolate(culture.name)}</span><span class="mt-[8px] sm:mt-[10px] md:mt-[12px] lg:mt-[14px] xl:mt-[15px] text-[12px] sm:text-[13px] md:text-[14px] lg:text-[15px] xl:text-[16px] text-[#FFFFFF] tracking-wide leading-relaxed" data-v-2145db32>${ssrInterpolate(culture.text)}</span></div>`);
|
||
});
|
||
_push(`<!--]--></div></div><div class="absolute bottom-0 left-0 w-full overflow-hidden z-[3] pointer-events-none" data-v-2145db32><img class="w-[200%] max-w-none -translate-x-[25%] sm:w-full sm:translate-x-0 object-cover object-bottom"${ssrRenderAttr("src", _imports_0)} alt="" data-v-2145db32></div></section><section id="qualificationsAndHonors" class="w-full scroll-mt-20 xl:scroll-mt-[220px]" data-v-2145db32>`);
|
||
_push(ssrRenderComponent(_component_QualificationHonor, {
|
||
"is-timeline": true,
|
||
"tab-list": unref(honorCateList),
|
||
"honors-by-category": unref(honorsByCategoryId),
|
||
"full-width": true
|
||
}, null, _parent));
|
||
_push(`</section><section id="developmentHistory" class="w-full scroll-mt-20 xl:scroll-mt-[220px]" data-v-2145db32><div class="flex flex-col items-center w-full" data-v-2145db32>`);
|
||
_push(ssrRenderComponent(_component_CustomTitle, { title: "发展历程" }, null, _parent));
|
||
_push(`<div class="development-timeline-scroll relative w-full overflow-x-auto overflow-y-visible mt-[20px] sm:mt-[24px] md:mt-[28px] lg:mt-[32px] xl:mt-[40px] pt-[12px] pb-[24px] sm:pt-[14px] sm:pb-[24px] md:pt-[16px] md:pb-[28px] lg:pt-[18px] lg:pb-[28px] xl:pt-[20px] xl:pb-[32px]" data-v-2145db32><div class="inline-flex relative justify-center w-auto min-w-full pl-[20px] sm:pl-[0]" data-v-2145db32><div class="absolute top-[32px] sm:top-[40px] md:top-[46px] lg:top-[56px] xl:top-[66px] left-0 right-0 w-full h-[1px] bg-[#EEF5FF] z-[5] z-[0]" data-v-2145db32></div><div class="flex flex-row items-stretch justify-start sm:justify-center gap-[20px] sm:gap-[20px] md:gap-[24px] lg:gap-[32px] xl:gap-[40px]" data-v-2145db32><!--[-->`);
|
||
ssrRenderList(unref(developmentHistory), (history) => {
|
||
_push(ssrRenderComponent(_component_TimeItem, {
|
||
key: history.year + history.content,
|
||
year: history.year,
|
||
content: history.content
|
||
}, null, _parent));
|
||
});
|
||
_push(`<!--]--></div></div></div></div></section></div></div>`);
|
||
};
|
||
}
|
||
});
|
||
const _sfc_setup = _sfc_main.setup;
|
||
_sfc_main.setup = (props, ctx) => {
|
||
const ssrContext = useSSRContext();
|
||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/about/index.vue");
|
||
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
||
};
|
||
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2145db32"]]);
|
||
|
||
export { index as default };
|
||
//# sourceMappingURL=index-CAEscreM.mjs.map
|