添加前端文件

main
liutk 2026-03-10 21:06:34 +08:00
parent 4847484c50
commit 3df52651fa
423 changed files with 90784 additions and 0 deletions

View File

@ -0,0 +1,15 @@
{
"date": "2026-03-08T08:50:46.080Z",
"preset": "node-server",
"framework": {
"name": "nuxt",
"version": "4.3.1"
},
"versions": {
"nitro": "2.13.1"
},
"commands": {
"preview": "node server/index.mjs"
},
"config": {}
}

BIN
public/output/public/.DS_Store vendored 100644

Binary file not shown.

View File

@ -0,0 +1 @@
import{d as s,c as o,b as n,t as c,o as a}from"./BVoAI2xn.js";const p={class:"text-center"},i={class:"custom-title inline-block text-[18px] sm:text-[24px] md:text-[28px] lg:text-[32px] xl:text-[42px] text-[#333333] bg-[url('/images/首页/标题背景色块.png')] bg-no-repeat bg-[length:100%_0.22em] [background-position:50%_80%]"},_=s({__name:"CustomTitle",props:{title:{}},setup(t){const e=t;return(l,r)=>(a(),o("div",p,[n("span",i,c(e.title),1)]))}}),m=Object.assign(_,{__name:"CustomTitle"});export{m as _};

View File

@ -0,0 +1 @@
import{_ as B}from"./BsChYa3B.js";import{_ as D}from"./vMQG2-nS.js";import{u as R}from"./CbPrn0tb.js";import{d as S,E,w as f,S as H,c as o,a as v,I,f as c,b as t,t as d,F as h,v as y,r as q,o as r,H as L,h as w}from"./BVoAI2xn.js";import{u as b}from"./RFvW8Sgv.js";import"./C584n0hD.js";const N={class:"w-full"},V={class:"w-full pb-[20px] sm:pb-[24px] md:pb-[30px] lg:pb-[38px] xl:pb-[45px]"},$={class:"w-full layout pt-[28px] sm:pt-[34px] md:pt-[44px] lg:pt-[54px] xl:pt-[64px]"},j={class:"flex flex-col items-center w-full"},z={class:"mt-[18px] sm:mt-[18px] md:mt-[20px] lg:mt-[22px] xl:mt-[24px] max-w-[800px] text-center text-[12px] sm:text-[14px] md:text-[16px] lg:text-[18px] xl:text-[20px] text-[#333333] leading-relaxed"},M={class:"w-full mt-[28px] sm:mt-[32px] md:mt-[36px] lg:mt-[40px] xl:mt-[44px] flex flex-col items-center gap-[40px] sm:gap-[36px] md:gap-[40px] lg:gap-[44px] xl:gap-[48px]"},U={class:"w-full md:w-1/2"},W=["src","alt"],G={class:"flex items-start w-full md:w-1/2"},J={class:"px-[18px] sm:px-[20px] md:px-[24px] lg:px-[28px] xl:px-[32px] py-[18px] sm:py-[20px] md:py-[22px] lg:py-[24px] xl:py-[26px]"},K={class:"text-left text-[#333333] font-bold text-[18px] sm:text-[18px] md:text-[20px] lg:text-[22px] xl:text-[24px]"},O={class:"mt-[10px] flex flex-wrap gap-[8px] sm:gap-[6px] md:gap-[8px] lg:gap-[10px] xl:gap-[12px] text-[12px] sm:text-[12px] md:text-[13px] lg:text-[14px] xl:text-[14px] text-[#2D75B5]"},P={class:"mt-[12px] text-[#333333] text-[12px] sm:text-[13px] md:text-[14px] lg:text-[15px] xl:text-[16px] leading-relaxed"},Q={class:"mt-[14px]"},X=["onClick"],pt=S({__name:"index",async setup(Y){let p,n;const A=E(),u=R(),a=q(""),{data:F}=([p,n]=f(async()=>b("case-study-tags",async()=>await u.get("/api/case_study_tags"))),p=await p,n(),p),i=w(()=>{const e=F.value;return!e||e.code!==200||!Array.isArray(e.data)?[]:e.data.map(x=>({id:String(x.id),name:x.name}))});H(()=>{if(!a.value&&i.value.length>0){const e=i.value[0];e&&(a.value=e.id)}});const{data:k}=([p,n]=f(async()=>b(()=>`case-studies-${a.value||"empty"}`,async()=>a.value?await u.get("/api/case_studies",{params:{t_ids:a.value}}):null,{watch:[a]})),p=await p,n(),p),_=w(()=>{const e="我们深耕行业已累计承接各类环境服务项目35+,与众多行业标杆客户建立起长期信赖的合作关系。以下是我们按业务领域分类的部分实践成果。",x=k.value,m=x?.code===200&&Array.isArray(x.data)?x.data:[];return{title:e,list:m.map(l=>({id:String(l.id),title:l.title,keyWords:Array.isArray(l.tags)?l.tags.map(s=>s.name):[],desc:l.description,url:l.cover}))}}),T=e=>{A.push(`/service/${e.id}`)};return(e,x)=>{const m=B,l=D;return r(),o("div",N,[v(m,{title:"服务案例",img:"/images/服务案例/服务案例.png"}),v(l,{tabs:c(i),activeTab:c(a),"onUpdate:activeTab":x[0]||(x[0]=s=>I(a)?a.value=s:null),title:"服务案例"},null,8,["tabs","activeTab"]),t("div",V,[t("div",$,[t("div",j,[t("p",z,d(c(_).title),1)]),t("div",M,[(r(!0),o(h,null,y(c(_).list,(s,C)=>(r(),o("div",{key:s.id,class:"w-full bg-[#FFFFFF] overflow-hidden transition-all duration-300 ease-out hover:-translate-y-1 hover:shadow-[0_12px_24px_rgba(0,0,0,0.12)]"},[t("div",{class:L(["flex flex-col md:flex-row",{"md:flex-row-reverse":C%2===1}])},[t("div",U,[t("img",{class:"w-full h-[220px] sm:h-[240px] md:h-[100%] object-cover",src:s.url,alt:s.title},null,8,W)]),t("div",G,[t("div",J,[t("h2",K,d(s.title),1),t("div",O,[(r(!0),o(h,null,y(s.keyWords,g=>(r(),o("span",{key:g}," #"+d(g),1))),128))]),t("p",P,d(s.desc),1),t("div",Q,[t("button",{onClick:()=>T(s),class:"px-[18px] sm:px-[18px] md:px-[20px] lg:px-[22px] xl:px-[24px] py-[6px] sm:py-[6px] md:py-[8px] lg:py-[8px] xl:py-[10px] border border-[#1364AF] rounded-full text-[12px] sm:text-[12px] md:text-[13px] lg:text-[14px] xl:text-[14px] text-[#2D75B5] bg-white hover:bg-[#1364AF] hover:text-white transition-colors duration-300"}," 了解更多 >> ",8,X)])])])],2)]))),128))])])])])}}});export{pt as default};

View File

@ -0,0 +1 @@
import{_ as b}from"./BsChYa3B.js";import{_ as v}from"./C584n0hD.js";import{u as w}from"./CbPrn0tb.js";import{d as y,u as k,w as D,o as l,c as a,a as F,b as s,e as A,t as n,f as e,F as N,g as x,h as d}from"./BVoAI2xn.js";import{u as S}from"./RFvW8Sgv.js";import{u as V}from"./P_oyKTOd.js";const j={class:"w-full"},B={class:"hidden sm:flex sticky top-[56px] sm:top-[64px] md:top-[80px] lg:top-[100px] xl:top-[135px] z-[999] w-full h-[56px] flex-row items-center justify-center bg-[#F2F2F2]"},C={class:"flex flex-row justify-end items-center w-full h-full layout"},H={class:"h-full text-[12px] pl-[12px] text-[#999999] border-l-[1px] flex flex-row items-center gap-[8px]"},M={class:"w-full bg-white"},R={class:"layout pt-[28px] sm:pt-[34px] md:pt-[44px] lg:pt-[54px] xl:pt-[64px] pb-[40px] sm:pb-[48px] md:pb-[56px] lg:pb-[64px] xl:pb-[72px]"},T={class:"text-[20px] sm:text-[22px] md:text-[24px] lg:text-[26px] xl:text-[28px] text-[#333333] font-bold"},q={class:"mt-[12px] sm:mt-[14px] md:mt-[16px] text-[12px] sm:text-[13px] md:text-[14px] text-[#999999]"},I=["src","alt"],L=["innerHTML"],$={key:1,class:"text-[#666666]"},Q=y({__name:"[id]",async setup(z){let p,i;const m=k(),u=w(),r=d(()=>String(m.params.id??"")),{data:_,pending:f}=([p,i]=D(async()=>S(()=>`news-detail-${r.value}`,async()=>r.value?await u.get(`/api/news/${r.value}`):null,{watch:[r]})),p=await p,i(),p),t=d(()=>{const o=_.value;return o?.code===200?o.data:null});function h(o){return o?o.split(" ")[0]??o:""}return V({title:()=>t.value?.title??"企业资讯",description:()=>t.value?.description??"",ogTitle:()=>t.value?.title??"",ogDescription:()=>t.value?.description??"",ogImage:()=>t.value?.cover??void 0}),(o,c)=>{const g=b;return l(),a("div",j,[F(g,{title:"企业资讯",img:"/images/企业资讯/企业资讯.png"}),s("div",B,[s("div",C,[s("div",H,[c[0]||(c[0]=A('<img class="w-[14px] h-[14px]" src="'+v+'" alt=""><a href="/home" class="hover:text-[#0A357D] transition-colors">首页</a><span class="inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"></span><a href="/news" class="hover:text-[#0A357D] transition-colors">企业资讯</a><span class="inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"></span>',5)),s("span",null,n(e(t)?.title??""),1)])])]),s("div",M,[s("div",R,[e(t)?(l(),a(N,{key:0},[s("h1",T,n(e(t).title),1),s("div",q," 发布时间:"+n(h(e(t).published_at)),1),e(t).cover?(l(),a("img",{key:0,src:e(t).cover,alt:e(t).title,class:"w-full mt-[20px] sm:mt-[24px] md:mt-[28px] h-[220px] sm:h-[260px] md:h-[300px] lg:h-[340px] xl:h-[380px] object-cover rounded-[4px]"},null,8,I)):x("",!0),e(t).content?(l(),a("div",{key:1,class:"mt-[24px] sm:mt-[28px] md:mt-[32px] w-full text-left text-[12px] sm:text-[14px] md:text-[16px] lg:text-[18px] text-[#333333] leading-relaxed [&_img]:max-w-full [&_img]:h-auto [&_img]:block [&_img]:my-[12px] [&_p]:mb-[12px]",innerHTML:e(t).content},null,8,L)):x("",!0)],64)):e(f)?x("",!0):(l(),a("p",$,"暂无内容"))])])])}}});export{Q as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{d as s,c as a,b as t,t as l,o as n}from"./BVoAI2xn.js";const o={class:"w-full relative"},c={class:"w-full min-w-full"},i=["src"],_={class:"absolute inset-0 flex items-center"},m={class:"layout w-full"},d={class:"animate__animated animate__backInRight block text-[24px] sm:text-[32px] md:text-[40px] lg:text-[48px] xl:text-[60px] text-[#0A357D]"},r=s({__name:"HeaderImage",props:{title:{type:String,default:""},img:{type:String,default:""}},setup(e){return(x,p)=>(n(),a("div",o,[t("div",c,[t("img",{class:"w-full h-auto block",src:e.img,alt:""},null,8,i)]),t("div",_,[t("div",m,[t("span",d,l(e.title),1)])])]))}}),f=Object.assign(r,{__name:"HeaderImage"});export{f as _};

View File

@ -0,0 +1 @@
import{y as s}from"./BVoAI2xn.js";const i=s("/images/关于我们/首页ico.png");export{i as _};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{K as t}from"./BVoAI2xn.js";function p(){return t().$request}export{p as u};

View File

@ -0,0 +1 @@
import{_ as w}from"./BsChYa3B.js";import{_ as A}from"./2HdClNfd.js";import{_ as I}from"./C584n0hD.js";import{u as T}from"./CbPrn0tb.js";import{d as k,u as D,w as C,c as d,a as u,f as o,b as t,t as m,g as L,o as _,h as p}from"./BVoAI2xn.js";import{u as E}from"./RFvW8Sgv.js";import{u as F}from"./P_oyKTOd.js";const N={class:"w-full"},P={class:"hidden sm:flex sticky top-[56px] sm:top-[64px] md:top-[80px] lg:top-[100px] xl:top-[135px] z-[999] w-full h-[56px] flex-row items-center justify-center bg-[#F2F2F2]"},S={class:"flex flex-row justify-end items-center w-full h-full layout"},q={class:"h-full text-[12px] pl-[12px] text-[#999999] border-l-[1px] flex flex-row items-center gap-[8px]"},B=["href"],H={class:"w-full bg-white"},M={class:"layout pt-[28px] sm:pt-[34px] md:pt-[44px] lg:pt-[54px] xl:pt-[64px] pb-[40px] sm:pb-[48px] md:pb-[56px] lg:pb-[64px] xl:pb-[72px]"},R={class:"flex flex-col items-center w-full"},V={class:"mt-[24px] sm:mt-[28px] md:mt-[32px] lg:mt-[36px] xl:mt-[40px] flex flex-col items-center gap-[24px] sm:gap-[28px] md:gap-[32px] lg:gap-[36px] xl:gap-[40px]"},$=["innerHTML"],W=k({__name:"[id]",async setup(j){let a,x;const c=D(),f=T(),r=p(()=>String(c.params.id||"")),n=p(()=>(String(c.query.type||"")==="case_study","case_study")),g={case_study:s=>`/api/case_studies/${s}`},v={case_study:{headerTitle:"服务案例",headerImg:"/images/服务案例/服务案例.png",listLabel:"服务案例",listPath:"/service"}},i=p(()=>v[n.value]),{data:b}=([a,x]=C(async()=>E(()=>`detail-${n.value}-${r.value}`,async()=>{if(!r.value)return null;const s=g[n.value](r.value);return await f.get(s)},{watch:[r,n]})),a=await a,x(),a),e=p(()=>{const s=b.value;return s?.code===200?s.data:null});return F({title:()=>e.value?.title||"详情",description:()=>e.value?.description||"",ogTitle:()=>e.value?.title||"",ogDescription:()=>e.value?.description||"",ogImage:()=>e.value?.cover||void 0}),(s,l)=>{const h=w,y=A;return _(),d("div",N,[u(h,{title:o(i).headerTitle,img:o(i).headerImg},null,8,["title","img"]),t("div",P,[t("div",S,[t("div",q,[l[0]||(l[0]=t("img",{class:"w-[14px] h-[14px]",src:I,alt:""},null,-1)),l[1]||(l[1]=t("a",{href:"/home",class:"hover:text-[#0A357D] transition-colors"},"首页",-1)),l[2]||(l[2]=t("span",{class:"inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"},null,-1)),t("a",{href:o(i).listPath,class:"hover:text-[#0A357D] transition-colors"},m(o(i).listLabel),9,B),l[3]||(l[3]=t("span",{class:"inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"},null,-1)),t("span",null,m(o(e)?.title||""),1)])])]),t("div",H,[t("div",M,[t("div",R,[u(y,{title:o(e)?.title||""},null,8,["title"])]),t("div",V,[o(e)?.content?(_(),d("div",{key:0,class:"w-full text-left text-[12px] sm:text-[14px] md:text-[16px] lg:text-[18px] xl:text-[18px] text-[#333333] leading-relaxed [&_img]:max-w-full [&_img]:h-auto [&_img]:block [&_img]:my-[12px] [&_p]:mb-[12px]",innerHTML:o(e).content},null,8,$)):L("",!0)])])])])}}});export{W as default};

View File

@ -0,0 +1,3 @@
import{_ as j}from"./BsChYa3B.js";import{_ as E}from"./vMQG2-nS.js";import{_ as L,a as P}from"./BnW1nGTP.js";import{_ as R}from"./2HdClNfd.js";import{d as T,o as m,c as d,b as t,t as f,e as S,y as q,n as V,w as F,a as c,I as N,f as p,F as A,v as k,r as o,x as U,_ as O}from"./BVoAI2xn.js";import{u as Q}from"./CbPrn0tb.js";import"./C584n0hD.js";const G={class:"flex flex-col items-start shrink-0 w-[189px] sm:w-[220px] md:w-[270px] lg:w-[320px] xl:w-[339px]"},J={class:"flex"},K={class:"flex flex-col items-center ml-[6px] sm:ml-[8px] md:ml-[10px] lg:ml-[10px] xl:ml-[10px]"},M={class:"text-[18px] sm:text-[22px] md:text-[28px] lg:text-[34px] xl:text-[38px] font-bold text-[#336DF6] leading-none"},W={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]"},X={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"},Y=T({__name:"TimeItem",props:{year:{},content:{}},setup(g){return(i,s)=>(m(),d("div",G,[t("div",J,[t("div",K,[t("div",M,f(g.year),1),s[0]||(s[0]=S('<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>',3))])]),t("div",W,[t("div",X,f(g.content),1)])]))}}),Z=Object.assign(Y,{__name:"TimeItem"}),tt=q("/images/关于我们/culbg1.png"),et={class:"w-full"},xt={class:"w-full pb-[40px] xl:pb-[30px]"},lt={id:"companyProfile",class:"scroll-mt-20 xl:scroll-mt-[220px] w-full mt-[39px]"},st={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"},pt={class:"flex flex-col z-[2] layout w-full"},ot={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"},at={class:"text-[14px] sm:text-[16px] md:text-[18px] lg:text-[20px] xl:text-[24px] text-[#FFFFFF] font-bold tracking-wide"},nt={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"},mt={id:"qualificationsAndHonors",class:"w-full scroll-mt-20 xl:scroll-mt-[220px]"},it={id:"developmentHistory",class:"w-full scroll-mt-20 xl:scroll-mt-[220px]"},rt={class:"flex flex-col items-center w-full"},ct={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]"},dt={class:"inline-flex relative justify-center w-auto min-w-full pl-[20px] sm:pl-[0]"},_t={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]"},ut=T({__name:"index",async setup(g){let i,s;const v=o([]),_=o("companyProfile"),B=o(`广西富琳清洁服务有限公司成立于 2016 年 6 月 28 日,注册资金 500 万元,是一家具有独立法人资格的综合性专业服务公司。公司核心业务集清洁服务、园林绿化养护、城乡市政道路清扫、消杀 “除四害” 服务、城市园林绿化工程、城市公园清洁等于一体,并延伸提供地毯清洗、地面打蜡、晶面处理、大理石翻新等专项服务,以及城市生活垃圾经营性收集、运输、处理的全链条解决方案。
公司实力与专业资质备受认可拥有中华人民共和国园林绿化养护服务企业资质 国家一级 和环卫清洁服务行业登记资质 国家一级并获评企业信用评价 AAA 级信用企业公司管理制度完善作业经验丰富专业技术全面督察管理严格服务质量过硬目前拥有员工 1000 余人其中本科大专学历管理人员 6 持有物业管理园艺师安全工程师等专业资质的管理人员 8 具备 8 年以上绿化清洁专业管理经验的人员 30 截至 2025 公司合约管理面积已突破 950 万平方米全年营业收入达 2600 万元
历经多年发展公司服务网络已遍及广西湖南广东重庆等多个省市主要服务于住宅小区商务写字楼市政道路及企业工厂等各类公共场所现已成为广西区域同行业中具有规范化专业化水平的知名清洁绿化消杀服务商我们始终秉持 专业铸就品质细节决定成败 的服务理念凭借完善的作业制度和严格的质量督查体系通过规范化管理与高效团队协作致力于成为值得客户长期信赖的环境服务合作伙伴`),y=o([]),u=o([]);v.value=[{name:"企业简介",id:"companyProfile"},{name:"企业文化",id:"corporateCulture"},{name:"资质荣誉",id:"qualificationsAndHonors"},{name:"团队实力",id:"teamStrength"},{name:"发展历程",id:"developmentHistory"}];function H(x){const e=document.getElementById(x);e&&e.scrollIntoView({behavior:"smooth",block:"start"})}V(_,x=>{H(x)},{immediate:!1});const w=o([]),h=o({}),b=Q();async function I(){try{const x=await b.get("/api/honor_cates");if(x?.code!==200||!Array.isArray(x.data)||x.data.length===0)return;w.value=x.data;const e={};for(const a of x.data)try{const r=await b.get("/api/honors",{params:{category:a.id}});r?.code===200&&Array.isArray(r.data)?e[a.id]=r.data.map(n=>({name:n.title,url:n.cover,year:n.awarded_date?String(n.awarded_date).slice(0,4):""})):e[a.id]=[]}catch{e[a.id]=[]}h.value=e}catch{w.value=[],h.value={}}}async function z(){try{const x=await b.get("/api/timelines");if(x?.code!==200||!Array.isArray(x.data)){u.value=[];return}u.value=x.data.map(e=>({year:e.title||(e.awarded_date?String(e.awarded_date).slice(0,4):""),content:e.description||""}))}catch{u.value=[]}}return[i,s]=F(()=>I()),await i,s(),[i,s]=F(()=>z()),await i,s(),y.value=[{name:"企业愿景",text:"成为西南地区领先、面向全国的综合环境服务标杆企业。"},{name:"企业使命",text:"以专业服务守护绿水青山,用绿色理念赋能美丽城乡。"},{name:"核心价值观",text:"专业专注、诚信尽责、精益求精、协作共赢、绿色发展。"},{name:"企业精神",text:"敬业、务实、诚信、创新。"},{name:"服务理念",text:"专业铸就品质,细节决定成败。"},{name:"管理理念",text:"制度为纲,人才为本。"}],(x,e)=>{const a=j,r=E,n=L,C=P,D=R,$=Z;return m(),d("div",et,[c(a,{title:"关于我们",img:"/images/关于我们/图层-2.png"}),c(r,{tabs:p(v),activeTab:p(_),"onUpdate:activeTab":e[0]||(e[0]=l=>N(_)?_.value=l:null),title:"关于我们"},null,8,["tabs","activeTab"]),t("div",xt,[t("section",lt,[c(n,{text:p(B),"is-show-more":!1,"body-size-class":"text-[12px] sm:text-[14px] md:text-[15px] lg:text-[16px] xl:text-[16px]"},null,8,["text"])]),t("section",st,[t("div",pt,[e[1]||(e[1]=t("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"}," 企业文化 ",-1)),t("div",ot,[(m(!0),d(A,null,k(p(y),l=>(m(),d("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",key:l.name},[t("span",at,f(l.name),1),t("span",nt,f(l.text),1)]))),128))])]),e[2]||(e[2]=t("div",{class:"absolute bottom-0 left-0 w-full overflow-hidden z-[3] pointer-events-none"},[t("img",{class:"w-[200%] max-w-none -translate-x-[25%] sm:w-full sm:translate-x-0 object-cover object-bottom",src:tt,alt:""})],-1))]),t("section",mt,[c(C,{"is-timeline":!0,"tab-list":p(w),"honors-by-category":p(h),"full-width":!0},null,8,["tab-list","honors-by-category"])]),t("section",it,[t("div",rt,[c(D,{title:"发展历程"}),t("div",ct,[t("div",dt,[e[3]||(e[3]=t("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]"},null,-1)),t("div",_t,[(m(!0),d(A,null,k(p(u),l=>(m(),U($,{key:l.year+l.content,year:l.year,content:l.content},null,8,["year","content"]))),128))])])])])])])])}}}),Ft=O(ut,[["__scopeId","data-v-2145db32"]]);export{Ft as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{_ as w}from"./BsChYa3B.js";import{_ as A}from"./2HdClNfd.js";import{_ as I}from"./C584n0hD.js";import{u as T}from"./CbPrn0tb.js";import{d as k,u as D,w as C,c as d,a as u,f as o,b as t,t as m,g as L,o as _,h as p}from"./BVoAI2xn.js";import{u as E}from"./RFvW8Sgv.js";import{u as F}from"./P_oyKTOd.js";const N={class:"w-full"},P={class:"hidden sm:flex sticky top-[56px] sm:top-[64px] md:top-[80px] lg:top-[100px] xl:top-[135px] z-[999] w-full h-[56px] flex-row items-center justify-center bg-[#F2F2F2]"},S={class:"flex flex-row justify-end items-center w-full h-full layout"},q={class:"h-full text-[12px] pl-[12px] text-[#999999] border-l-[1px] flex flex-row items-center gap-[8px]"},B=["href"],H={class:"w-full bg-white"},M={class:"layout pt-[28px] sm:pt-[34px] md:pt-[44px] lg:pt-[54px] xl:pt-[64px] pb-[40px] sm:pb-[48px] md:pb-[56px] lg:pb-[64px] xl:pb-[72px]"},R={class:"flex flex-col items-center w-full"},V={class:"mt-[24px] sm:mt-[28px] md:mt-[32px] lg:mt-[36px] xl:mt-[40px] flex flex-col items-center gap-[24px] sm:gap-[28px] md:gap-[32px] lg:gap-[36px] xl:gap-[40px]"},$=["innerHTML"],W=k({__name:"[id]",async setup(j){let a,x;const c=D(),f=T(),r=p(()=>String(c.params.id||"")),n=p(()=>(String(c.query.type||"")==="case_study","case_study")),g={case_study:s=>`/api/case_studies/${s}`},v={case_study:{headerTitle:"服务案例",headerImg:"/images/服务案例/服务案例.png",listLabel:"服务案例",listPath:"/service"}},i=p(()=>v[n.value]),{data:b}=([a,x]=C(async()=>E(()=>`detail-${n.value}-${r.value}`,async()=>{if(!r.value)return null;const s=g[n.value](r.value);return await f.get(s)},{watch:[r,n]})),a=await a,x(),a),e=p(()=>{const s=b.value;return s?.code===200?s.data:null});return F({title:()=>e.value?.title||"详情",description:()=>e.value?.description||"",ogTitle:()=>e.value?.title||"",ogDescription:()=>e.value?.description||"",ogImage:()=>e.value?.cover||void 0}),(s,l)=>{const h=w,y=A;return _(),d("div",N,[u(h,{title:o(i).headerTitle,img:o(i).headerImg},null,8,["title","img"]),t("div",P,[t("div",S,[t("div",q,[l[0]||(l[0]=t("img",{class:"w-[14px] h-[14px]",src:I,alt:""},null,-1)),l[1]||(l[1]=t("a",{href:"/home",class:"hover:text-[#0A357D] transition-colors"},"首页",-1)),l[2]||(l[2]=t("span",{class:"inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"},null,-1)),t("a",{href:o(i).listPath,class:"hover:text-[#0A357D] transition-colors"},m(o(i).listLabel),9,B),l[3]||(l[3]=t("span",{class:"inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"},null,-1)),t("span",null,m(o(e)?.title||""),1)])])]),t("div",H,[t("div",M,[t("div",R,[u(y,{title:o(e)?.title||""},null,8,["title"])]),t("div",V,[o(e)?.content?(_(),d("div",{key:0,class:"w-full text-left text-[12px] sm:text-[14px] md:text-[16px] lg:text-[18px] xl:text-[18px] text-[#333333] leading-relaxed [&_img]:max-w-full [&_img]:h-auto [&_img]:block [&_img]:my-[12px] [&_p]:mb-[12px]",innerHTML:o(e).content},null,8,$)):L("",!0)])])])])}}});export{W as default};

View File

@ -0,0 +1 @@
import{J as a,K as s,L as r,M as u,N as o}from"./BVoAI2xn.js";function h(n){const e=n||s();return e.ssrContext?.head||e.runWithContext(()=>{if(r()){const t=u(o);if(!t)throw new Error("[nuxt] [unhead] Missing Unhead instance.");return t}})}function c(n,e={}){const t=e.head||h(e.nuxt);return a(n,{head:t,...e})}export{c as u};

View File

@ -0,0 +1 @@
.data-item-first-col .data-divider[data-v-38961b7c]{display:none}@media(min-width:1280px){.data-item-first-col .data-divider[data-v-38961b7c]{display:block}}[data-v-8acf2dc5] .honor-card-img,[data-v-8acf2dc5] img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}.timeline-scroll[data-v-8acf2dc5]{touch-action:pan-x;-webkit-overflow-scrolling:touch}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"id":"8510bf93-ce6e-4e1c-8084-e3abf9fb1ff3","timestamp":1772959839682}

View File

@ -0,0 +1 @@
{"id":"8510bf93-ce6e-4e1c-8084-e3abf9fb1ff3","timestamp":1772959839682,"prerendered":[]}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{u as c}from"./CbPrn0tb.js";import{u as i}from"./RFvW8Sgv.js";import{d as u,w as r,c as d,h as p,D as _,o as m}from"./BVoAI2xn.js";const b=u({__name:"index",async setup(f){let t,e;const n=c(),{data:o}=([t,e]=r(async()=>i("business-tabs-first",async()=>await n.get("/api/project_cates"))),t=await t,e(),t),s=p(()=>{const a=o.value;return!a||a.code!==200||!Array.isArray(a.data)||a.data.length===0?"":String(a.data[0]?.id??"")});return s.value&&([t,e]=r(()=>_(`/business/${s.value}`,{})),await t,e()),(a,l)=>(m(),d("div"))}});export{b as default};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.development-timeline-scroll[data-v-2145db32]{touch-action:pan-x;-webkit-overflow-scrolling:touch}

View File

@ -0,0 +1 @@
import{_ as q}from"./BsChYa3B.js";import{d as A,E as D,u as N,w as R,c as p,a as $,b as s,F as u,v as b,f as a,G as g,H as _,g as E,o as n,t as c,h as d,D as M}from"./BVoAI2xn.js";import{u as V}from"./CbPrn0tb.js";import{u as H}from"./RFvW8Sgv.js";const z={class:"w-full"},G={class:"w-full pb-[24px] sm:pb-[32px] md:pb-[40px] lg:pb-[48px] xl:pb-[56px]"},L={class:"layout !px-0 sm:mt-[28px] sm:mb-[29px] mt-[36px] mb-[60px]"},P={class:"flex flex-col w-full"},S=["onClick"],T={class:"flex flex-row px-[16px] sm:px-[20px] md:px-[24px] lg:px-[40px] xl:px-[52px] py-[16px] sm:py-[20px] md:py-[22px] lg:py-[26px] xl:py-[30px]"},J={class:"w-[126px] h-[104px] sm:w-[160px] sm:h-[120px] md:w-[220px] md:h-[150px] lg:w-[340px] lg:h-[214px] xl:w-[370px] xl:h-[228px] flex-shrink-0"},K=["src","alt"],O={class:"flex flex-col flex-1 items-start justify-between sm:justify-start gap-y-[0px] sm:gap-y-[15px] ml-[10px] sm:ml-[10px] md:ml-[20px] lg:ml-[30px] xl:ml-[60px]"},Q={class:"line-clamp-2 break-words text-[15px] sm:text-[18px] md:text-[20px] lg:text-[22px] xl:text-[24px] text-[#333333] group-hover:text-[#2E75B5] font-bold leading-snug"},U={class:"text-[10px] sm:text-[14px] md:text-[16px] lg:text-[18px] xl:text-[18px] text-[#666666]"},W={class:"line-clamp-2 text-[12px] sm:text-[14px] md:text-[16px] lg:text-[18px] xl:text-[18px] text-[#666666]"},X={key:0,class:"hidden sm:flex mt-[16px] items-center justify-center space-x-[6px] md:space-x-[8px]","aria-label":"分页"},Y={key:0,class:"flex items-center justify-center w-[32px] h-[32px] md:w-[36px] md:h-[36px] text-gray-500 text-[10px] md:text-[12px]"},Z=["onClick"],oe=A({__name:"index",async setup(I){let x,h;const w=D(),f=N(),k=V(),i=d({get:()=>Number(f.query.page)||1,set:e=>M({query:{...f.query,page:e===1?void 0:e}})}),{data:y}=([x,h]=R(async()=>H(()=>`news-page-${i.value}`,async()=>await k.get("/api/news",{params:{page:i.value}}),{watch:[i]})),x=await x,h(),x),C=d(()=>{const e=y.value;return e?.code===200&&Array.isArray(e.data)?e.data:[]}),o=d(()=>y.value?.meta??{current_page:1,last_page:1,per_page:20,total:0}),F=d(()=>{const e=o.value.current_page,t=o.value.last_page;if(t<=7)return Array.from({length:t},(r,v)=>v+1);const l=[];return e<=3?l.push(1,2,3,4,-1,t):e>=t-2?l.push(1,-1,t-3,t-2,t-1,t):l.push(1,-1,e-1,e,e+1,-1,t),l});function j(e){return e?e.split(" ")[0]||e:""}function m(e){e<1||e>o.value.last_page||(i.value=e)}const B=e=>{w.push("/news/"+e.id)};return(e,t)=>{const l=q;return n(),p("div",z,[$(l,{title:"企业资讯",img:"/images/企业资讯/企业资讯.png"}),s("div",G,[s("div",L,[s("div",P,[(n(!0),p(u,null,b(a(C),r=>(n(),p("div",{key:r.id,class:"w-full cursor-pointer group bg-[#FFFFFF] hover:bg-[#F5F5F5] transition-colors duration-300",onClick:()=>B(r)},[s("div",T,[s("div",J,[s("img",{class:"object-cover w-full h-full",src:r.cover,alt:r.title},null,8,K)]),s("div",O,[s("span",Q,c(r.title),1),s("span",U,c(j(r.published_at)),1),s("p",W,c(r.description),1)]),t[2]||(t[2]=s("div",{class:"items-center hidden sm:ml-[15px] md:flex"},[s("div",{class:"w-[56px] h-[56px] group-hover:bg-[url('/images/企业资讯/选中.png')] bg-[url('/images/企业资讯/未选中.png')] bg-no-repeat bg-center bg-cover"})],-1))])],8,S))),128)),a(o).last_page>1?(n(),p("nav",X,[s("a",{href:"#",class:_(["flex items-center justify-center w-[32px] h-[32px] md:w-[36px] md:h-[36px] border border-gray-300 text-gray-500 hover:bg-gray-100 transition-colors text-[10px] md:text-[12px] disabled:opacity-50 disabled:pointer-events-none",{"opacity-50 pointer-events-none":a(o).current_page<=1}]),onClick:t[0]||(t[0]=g(r=>m(a(o).current_page-1),["prevent"]))},[...t[3]||(t[3]=[s("span",{class:"sr-only"},"上一页",-1),s("svg",{class:"w-3 h-3 md:w-4 md:h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[s("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])],2),(n(!0),p(u,null,b(a(F),r=>(n(),p(u,{key:r},[r===-1?(n(),p("span",Y," … ")):(n(),p("a",{key:1,href:"#",class:_(["flex items-center justify-center w-[32px] h-[32px] md:w-[36px] md:h-[36px] border transition-colors text-[10px] md:text-[12px]",r===a(o).current_page?"border-blue-600 bg-blue-600 text-white font-medium":"border-gray-300 text-gray-600 hover:bg-gray-100"]),onClick:g(v=>m(r),["prevent"])},c(r),11,Z))],64))),128)),s("a",{href:"#",class:_(["flex items-center justify-center w-[32px] h-[32px] md:w-[36px] md:h-[36px] border border-gray-300 text-gray-500 hover:bg-gray-100 transition-colors text-[10px] md:text-[12px]",{"opacity-50 pointer-events-none":a(o).current_page>=a(o).last_page}]),onClick:t[1]||(t[1]=g(r=>m(a(o).current_page+1),["prevent"]))},[...t[4]||(t[4]=[s("span",{class:"sr-only"},"下一页",-1),s("svg",{class:"w-3 h-3 md:w-4 md:h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[s("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)])],2)])):E("",!0)])])])])}}});export{oe as default};

View File

@ -0,0 +1 @@
import{d,c as l,b as e,F as f,v as m,t as i,o as a,H as b,G as u}from"./BVoAI2xn.js";import{_ as h}from"./C584n0hD.js";const v={class:"sticky top-[56px] sm:top-[64px] md:top-[80px] lg:top-[100px] xl:top-[135px] z-[999] w-full h-[56px] sm:h-[60px] md:h-[64px] lg:h-[68px] xl:h-[68px] flex flex-row items-center justify-center bg-[#F2F2F2]"},w={class:"flex flex-row justify-between items-center w-full h-full layout"},_={class:"flex flex-row items-center gap-[18px] overflow-x-auto sm:overflow-visible h-full"},g=["onClick"],T={class:"hidden sm:flex h-full text-[12px] pl-[12px] text-[#999999] border-l-[1px] flex-row items-center gap-[8px]"},k=d({__name:"TabsHeader",props:{tabs:{},activeTab:{},title:{}},emits:["update:activeTab"],setup(r,{emit:n}){const x=r,p=n,c=o=>{o!==x.activeTab&&p("update:activeTab",o)};return(o,t)=>(a(),l("div",v,[e("div",w,[e("div",_,[(a(!0),l(f,null,m(r.tabs,s=>(a(),l("a",{key:s.id,href:"#",onClick:u(F=>c(s.id),["prevent"]),class:b(["relative border-b-[2px] text-[14px] sm:text-[14px] md:text-[15px] lg:text-[16px] xl:text-[16px] whitespace-nowrap hover:text-[#2E75B5] transition-colors duration-300 after:absolute after:bottom-[-1px] after:left-0 after:w-0 after:h-[1px] after:bg-[#0A357D] after:transition-all after:duration-300 h-full flex items-center",{"text-[#333333] hover:after:w-full border-b-[#F2F2F2]":r.activeTab!==s.id,"text-[#2E75B5] border-b-[#2E75B5]":r.activeTab===s.id}])},i(s.name),11,g))),128))]),e("div",T,[t[0]||(t[0]=e("img",{class:"w-[14px] h-[14px]",src:h,alt:""},null,-1)),t[1]||(t[1]=e("a",{href:"/home",class:"hover:text-[#0A357D] transition-colors"},"首页",-1)),t[2]||(t[2]=e("span",{class:"inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"},null,-1)),e("span",null,i(r.title),1)])])]))}}),C=Object.assign(k,{__name:"TabsHeader"});export{C as _};

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 647 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

View File

@ -0,0 +1,2 @@
User-Agent: *
Disallow:

View File

@ -0,0 +1,19 @@
import { escapeHtml } from '@vue/shared';
const _messages = {
"appName": "Nuxt",
"status": 500,
"statusText": "Internal server error",
"description": "This page is temporarily unavailable.",
"refresh": "Refresh this page"
};
const template = (messages) => {
messages = {
..._messages,
...messages
};
return "<!DOCTYPE html><html lang=\"en\"><head><title>" + escapeHtml(messages.status) + " - " + escapeHtml(messages.statusText) + " | " + escapeHtml(messages.appName) + "</title><meta charset=\"utf-8\"><meta content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0\" name=\"viewport\"><script>!function(){const e=document.createElement(\"link\").relList;if(!(e&&e.supports&&e.supports(\"modulepreload\"))){for(const e of document.querySelectorAll('link[rel=\"modulepreload\"]'))r(e);new MutationObserver(e=>{for(const o of e)if(\"childList\"===o.type)for(const e of o.addedNodes)\"LINK\"===e.tagName&&\"modulepreload\"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),\"use-credentials\"===e.crossOrigin?r.credentials=\"include\":\"anonymous\"===e.crossOrigin?r.credentials=\"omit\":r.credentials=\"same-origin\",r}(e);fetch(e.href,r)}}();<\/script><style>*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:\"\"}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.grid{display:grid}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.place-content-center{place-content:center}.overflow-hidden{overflow:hidden}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2{padding-left:.5rem;padding-right:.5rem}.text-center{text-align:center}.text-\\[80px\\]{font-size:80px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\\[\\#020420\\]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#64748B\\]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\\:text-\\[110px\\]{font-size:110px}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}}</style></head><body class=\"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide\"><div class=\"max-w-520px text-center\"><h1 class=\"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]\">" + escapeHtml(messages.status) + "</h1><h2 class=\"font-semibold mb-2 sm:text-3xl text-2xl\">" + escapeHtml(messages.statusText) + "</h2><p class=\"mb-4 px-2 text-[#64748B] text-md\">" + escapeHtml(messages.description) + "</p></div></body></html>";
};
export { template };
//# sourceMappingURL=error-500.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"error-500.mjs","sources":["../../../../node_modules/.pnpm/@nuxt+nitro-server@4.3.1_db0@0.3.4_ioredis@5.9.2_magicast@0.5.2_nuxt@4.3.1_@parcel+watcher@2._4elbvdmkvsizz37dfir7rj42ne/node_modules/@nuxt/nitro-server/dist/runtime/templates/error-500.mjs"],"names":[],"mappings":"","x_google_ignoreList":[0]}

View File

@ -0,0 +1,8 @@
const AppHeader_vue_vue_type_style_index_0_scoped_0bd92392_lang = '.menu-icon-wrap[data-v-0bd92392]{display:inline-flex;transform:rotate(0)}.menu-icon-wrap.menu-icon-open[data-v-0bd92392]{transform:rotate(90deg)}.menu-trigger:active .menu-icon-wrap[data-v-0bd92392]{transform:scale(.88)}.menu-trigger:active .menu-icon-wrap.menu-icon-open[data-v-0bd92392]{transform:rotate(90deg) scale(.88)}.menu-enter-active[data-v-0bd92392],.menu-leave-active[data-v-0bd92392]{transition:opacity .28s ease,transform .28s ease}.menu-enter-from[data-v-0bd92392],.menu-leave-to[data-v-0bd92392]{opacity:0;transform:translateY(-16px)}.menu-enter-to[data-v-0bd92392],.menu-leave-from[data-v-0bd92392]{opacity:1;transform:translateY(0)}.menu-enter-active .menu-nav .menu-item[data-v-0bd92392]{animation:menu-item-in-0bd92392 .32s ease forwards;animation-delay:calc(.04s*var(--i, 0));opacity:0}@keyframes menu-item-in-0bd92392{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.nav-item[data-v-0bd92392]{align-items:center;display:flex;height:100%;padding:0 8px;position:relative}.nav-item[data-v-0bd92392]:after{background-color:#2e75b5;bottom:0;content:"";height:3px;left:50%;opacity:0;position:absolute;transform:translate(-50%) scaleX(0);transform-origin:center;transition:transform .25s ease,opacity .25s ease;width:60%}.nav-item.is-active[data-v-0bd92392]:after,.nav-item[data-v-0bd92392]:hover:after{opacity:1;transform:translate(-50%) scaleX(1)}';
const AppHeaderStyles_xuwUbhFs = [
AppHeader_vue_vue_type_style_index_0_scoped_0bd92392_lang
];
export { AppHeaderStyles_xuwUbhFs as default };
//# sourceMappingURL=AppHeader-styles.xuwUbhFs.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"AppHeader-styles.xuwUbhFs.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/AppHeader-styles-1.mjs-GHHh4FQQ.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/AppHeader-styles.xuwUbhFs.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}

View File

@ -0,0 +1,8 @@
const BannerSwiper_vue_vue_type_style_index_0_scoped_fbea4d53_lang = "[data-v-fbea4d53] .swiper-slide-active .banner-btn,[data-v-fbea4d53] .swiper-slide-active .banner-desc,[data-v-fbea4d53] .swiper-slide-active .banner-title{opacity:0}[data-v-fbea4d53] .swiper-slide-active .banner-title{animation:banner-fade-up-fbea4d53 .55s ease-out forwards}[data-v-fbea4d53] .swiper-slide-active .banner-desc{animation:banner-fade-up-fbea4d53 .5s ease-out .15s forwards}[data-v-fbea4d53] .swiper-slide-active .banner-btn{animation:banner-fade-up-fbea4d53 .45s ease-out .3s forwards}@keyframes banner-fade-up-fbea4d53{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-v-fbea4d53] .swiper-pagination-bullet{background:#ffffff80;height:12px;opacity:1;width:12px}[data-v-fbea4d53] .swiper-pagination-bullet-active{background:#fff}[data-v-fbea4d53] .swiper-button-next,[data-v-fbea4d53] .swiper-button-prev{background:#0000004d;border-radius:50%;color:#fff;height:40px;width:40px}[data-v-fbea4d53] .swiper-button-next:after,[data-v-fbea4d53] .swiper-button-prev:after{font-size:16px}";
const BannerSwiperStyles_FspT2_eP = [
BannerSwiper_vue_vue_type_style_index_0_scoped_fbea4d53_lang
];
export { BannerSwiperStyles_FspT2_eP as default };
//# sourceMappingURL=BannerSwiper-styles.FspT2_eP.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"BannerSwiper-styles.FspT2_eP.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/BannerSwiper-styles-1.mjs-NvmWXVkd.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/BannerSwiper-styles.FspT2_eP.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}

View File

@ -0,0 +1,8 @@
const CompanyProfile_vue_vue_type_style_index_0_scoped_38961b7c_lang = ".data-item-first-col .data-divider[data-v-38961b7c]{display:none}@media(min-width:1280px){.data-item-first-col .data-divider[data-v-38961b7c]{display:block}}";
const CompanyProfileStyles_Cg7JhGfC = [
CompanyProfile_vue_vue_type_style_index_0_scoped_38961b7c_lang
];
export { CompanyProfileStyles_Cg7JhGfC as default };
//# sourceMappingURL=CompanyProfile-styles.Cg7JhGfC.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"CompanyProfile-styles.Cg7JhGfC.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/CompanyProfile-styles-1.mjs-DGqshtob.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/CompanyProfile-styles.Cg7JhGfC.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}

View File

@ -0,0 +1,26 @@
import { defineComponent, mergeProps, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "CustomTitle",
__ssrInlineRender: true,
props: {
title: {}
},
setup(__props) {
const props = __props;
return (_ctx, _push, _parent, _attrs) => {
_push(`<div${ssrRenderAttrs(mergeProps({ class: "text-center" }, _attrs))}><span class="custom-title inline-block text-[18px] sm:text-[24px] md:text-[28px] lg:text-[32px] xl:text-[42px] text-[#333333] bg-[url(&#39;/images/首页/标题背景色块.png&#39;)] bg-no-repeat bg-[length:100%_0.22em] [background-position:50%_80%]">${ssrInterpolate(props.title)}</span></div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/CustomTitle.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const __nuxt_component_1 = Object.assign(_sfc_main, { __name: "CustomTitle" });
export { __nuxt_component_1 as _ };
//# sourceMappingURL=CustomTitle-2eWUrzRV.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"CustomTitle-2eWUrzRV.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/CustomTitle-2eWUrzRV.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}

View File

@ -0,0 +1,32 @@
import { defineComponent, mergeProps, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderAttr, ssrInterpolate } from 'vue/server-renderer';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "HeaderImage",
__ssrInlineRender: true,
props: {
title: {
type: String,
default: ""
},
img: {
type: String,
default: ""
}
},
setup(__props) {
return (_ctx, _push, _parent, _attrs) => {
_push(`<div${ssrRenderAttrs(mergeProps({ class: "w-full relative" }, _attrs))}><div class="w-full min-w-full"><img class="w-full h-auto block"${ssrRenderAttr("src", __props.img)} alt=""></div><div class="absolute inset-0 flex items-center"><div class="layout w-full"><span class="animate__animated animate__backInRight block text-[24px] sm:text-[32px] md:text-[40px] lg:text-[48px] xl:text-[60px] text-[#0A357D]">${ssrInterpolate(__props.title)}</span></div></div></div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/HeaderImage.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const __nuxt_component_0 = Object.assign(_sfc_main, { __name: "HeaderImage" });
export { __nuxt_component_0 as _ };
//# sourceMappingURL=HeaderImage-92nFA80c.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"HeaderImage-92nFA80c.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/HeaderImage-92nFA80c.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}

View File

@ -0,0 +1,8 @@
const PartnerScroll_vue_vue_type_style_index_0_scoped_e4eb4a4e_lang = ".partner-scroll-container[data-v-e4eb4a4e]{cursor:pointer;display:flex;flex-direction:column;gap:var(--v02b74dfc);position:relative}.partner-scroll-container[data-v-e4eb4a4e],.partner-scroll-row[data-v-e4eb4a4e]{overflow:hidden;width:100%}.partner-scroll-track[data-v-e4eb4a4e]{animation:scroll-left-e4eb4a4e linear infinite;backface-visibility:hidden;display:flex;white-space:nowrap;width:-moz-max-content;width:max-content;will-change:transform}.partner-scroll-row.reverse .partner-scroll-track[data-v-e4eb4a4e]{animation:scroll-right-e4eb4a4e linear infinite}@keyframes scroll-left-e4eb4a4e{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes scroll-right-e4eb4a4e{0%{transform:translate3d(-50%,0,0)}to{transform:translateZ(0)}}.partner-items[data-v-e4eb4a4e]{display:flex}.partner-item[data-v-e4eb4a4e]{align-items:center;background:#fff;border-radius:8px;display:flex;flex:0 0 var(--v6a738313);height:var(--v6ba4350c);justify-content:center}.partner-logo[data-v-e4eb4a4e]{filter:grayscale(.2);height:100%;-o-object-fit:fill;object-fit:fill;transition:all .3s ease;width:100%}.partner-logo[data-v-e4eb4a4e]:hover{filter:grayscale(0);transform:scale(1.05)}.partner-scroll-row:hover .partner-scroll-track[data-v-e4eb4a4e]{animation-play-state:paused}";
const PartnerScrollStyles_DzoCYoji = [
PartnerScroll_vue_vue_type_style_index_0_scoped_e4eb4a4e_lang
];
export { PartnerScrollStyles_DzoCYoji as default };
//# sourceMappingURL=PartnerScroll-styles.DzoCYoji.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"PartnerScroll-styles.DzoCYoji.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/PartnerScroll-styles-1.mjs-Cijp-Zhd.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/PartnerScroll-styles.DzoCYoji.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}

View File

@ -0,0 +1,161 @@
import { _ as __nuxt_component_1 } from './CustomTitle-2eWUrzRV.mjs';
import { defineComponent, ref, mergeProps, unref, computed, watch, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderClass, ssrInterpolate, ssrRenderAttr, ssrRenderList } from 'vue/server-renderer';
import { useRouter } from 'vue-router';
import { _ as _export_sfc, u as useRoute } from './server.mjs';
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
__name: "CompanyProfile",
__ssrInlineRender: true,
props: {
title: {
type: String,
default: "公司简介"
},
text: {
type: String,
default: ""
},
isShowMore: {
type: Boolean,
default: true
},
/** 正文响应式字号 class不传则用默认12/15/18/22/24px。例关于我们页传 xl:text-[16px] 等 */
bodySizeClass: {
type: String,
default: ""
}
},
emits: ["onClickMore"],
setup(__props, { emit: __emit }) {
useRouter();
useRoute();
const props = __props;
const dataList = ref([]);
dataList.value = [
{
name: "注册资本",
value: "500",
unit: "万"
},
{
name: "专业团队规模",
value: "1000+",
unit: "人"
},
{
name: "承接项目",
value: "35+",
unit: "个"
},
{
name: "管理面积",
value: "950W㎡+",
unit: ""
},
{
name: "年营收(元)",
value: "2600",
unit: "万"
},
{
name: "服务网络覆盖",
value: "4+",
unit: "省市"
}
];
return (_ctx, _push, _parent, _attrs) => {
const _component_CustomTitle = __nuxt_component_1;
_push(`<div${ssrRenderAttrs(mergeProps({ class: "w-full" }, _attrs))} data-v-38961b7c><section class="company-intro py-[28px] sm:py-[36px] md:py-[48px] lg:py-[56px] xl:min-h-[50vh] xl:flex xl:flex-col xl:justify-center xl:pb-[113px] 2xl:min-h-[55vh] 2xl:pb-[113px] lg:pt-[0px]" data-v-38961b7c><div class="flex flex-col items-center layout" data-v-38961b7c>`);
_push(ssrRenderComponent(_component_CustomTitle, { title: __props.title }, null, _parent));
_push(`<div class="mt-[24px] sm:mt-[32px] md:mt-[44px] lg:mt-[58px] xl:mt-[83px] w-full flex flex-col lg:grid lg:grid-cols-[3fr_2fr] lg:items-center lg:gap-[40px] xl:gap-[48px] 2xl:gap-[56px]" data-v-38961b7c><div class="flex flex-col w-full lg:min-w-0" data-v-38961b7c><p class="${ssrRenderClass([props.bodySizeClass || "text-[12px] sm:text-[15px] md:text-[18px] lg:text-[22px] xl:text-[24px]", "whitespace-pre-line text-left text-[#333] leading-[1.6] sm:leading-[1.65] indent-[2em]"])}" data-v-38961b7c>${ssrInterpolate(__props.text)}</p>`);
if (__props.isShowMore) {
_push(`<button type="button" class="hidden lg:inline-flex mt-[20px] lg:mt-[24px] xl:mt-[28px] self-start items-center justify-center h-[36px] lg:h-[40px] xl:h-[44px] px-[20px] lg:px-[24px] xl:px-[28px] border border-[#1364AF] text-[15px] lg:text-[16px] xl:text-[17px] font-medium text-[#2D75B5] hover:bg-[#2D75B5] hover:text-white transition-colors duration-300" data-v-38961b7c> 了解更多 &gt;&gt; </button>`);
} else {
_push(`<!---->`);
}
_push(`</div><img${ssrRenderAttr("src", "/images/首页/logo-拷贝-2.png")} alt="企业简介" class="mt-[32px] sm:mt-[36px] md:mt-[40px] lg:mt-0 w-full max-w-[260px] sm:max-w-[300px] md:max-w-[320px] lg:max-w-full object-contain mx-auto lg:mx-0" data-v-38961b7c></div></div></section><section class="w-full bg-[url(&#39;/images/首页/矩形-17-拷贝.png&#39;)] bg-no-repeat bg-[length:100%_100%] bg-center pt-[36px] sm:pt-[44px] md:pt-[50px] lg:pt-[56px] xl:pt-[48px] 2xl:pt-[48px] pb-[36px] sm:pb-[44px] md:pb-[50px] lg:pb-[56px] xl:pb-[64px] 2xl:pb-[72px]" data-v-38961b7c><div class="layout" data-v-38961b7c><div class="data-grid grid grid-cols-[1.35fr_1fr_1fr] grid-rows-2 gap-y-[20px] sm:gap-y-[24px] md:gap-y-[26px] lg:gap-y-[28px] xl:gap-y-[32px] xl:flex xl:justify-between" data-v-38961b7c><!--[-->`);
ssrRenderList(unref(dataList), (data, index) => {
_push(`<div class="${ssrRenderClass([{ "data-item-first-col": index % 3 === 0 }, "flex flex-row items-center data-item"])}" data-v-38961b7c><div class="data-divider w-[1px] h-[36px] sm:h-[40px] md:h-[44px] lg:h-[50px] xl:h-[56px] bg-[#FFFFFF] bg-opacity-[0.3] shrink-0" data-v-38961b7c></div><div class="ml-[14px] sm:ml-[16px] md:ml-[18px] lg:ml-[20px] xl:ml-[24px] min-w-0" data-v-38961b7c><div data-v-38961b7c><span class="text-[24px] sm:text-[26px] md:text-[34px] lg:text-[42px] xl:text-[50px] text-[#FFFFFF] font-bold" data-v-38961b7c>${ssrInterpolate(data.value)}</span><span class="text-[11px] sm:text-[14px] md:text-[18px] lg:text-[24px] xl:text-[30px] text-[#FFFFFF]" data-v-38961b7c>${ssrInterpolate(data.unit)}</span></div><div class="text-[10px] sm:text-[12px] md:text-[13px] lg:text-[15px] xl:text-[16px] text-[#FFFFFF] mt-[2px] sm:mt-[3px] md:mt-[4px] lg:mt-[5px]" data-v-38961b7c>${ssrInterpolate(data.name)}</div></div></div>`);
});
_push(`<!--]--></div></div></section></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/CompanyProfile.vue");
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const __nuxt_component_2 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$1, [["__scopeId", "data-v-38961b7c"]]), { __name: "CompanyProfile" });
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "QualificationHonor",
__ssrInlineRender: true,
props: {
isTimeline: { type: Boolean, default: false },
tabList: { default: () => [] },
honorsByCategory: { default: () => ({}) },
fullWidth: { type: Boolean, default: false }
},
setup(__props) {
const props = __props;
const activeTabId = ref(0);
const tabList = computed(() => props.tabList ?? []);
const certificateList = computed(() => {
const id = activeTabId.value;
const first = tabList.value[0];
if (!id && first) return props.honorsByCategory?.[first.id] ?? [];
return props.honorsByCategory?.[id] ?? [];
});
watch(
() => props.tabList,
(list) => {
const first = list?.[0];
if (first && activeTabId.value === 0) {
activeTabId.value = first.id;
}
},
{ immediate: true }
);
return (_ctx, _push, _parent, _attrs) => {
const _component_CustomTitle = __nuxt_component_1;
_push(`<div${ssrRenderAttrs(mergeProps({ class: "w-full" }, _attrs))} data-v-8acf2dc5><div class="pt-[40px] sm:pt-[44px] md:pt-[48px] lg:pt-[54px] xl:pt-[60px] pb-[40px] sm:pb-[44px] md:pb-[48px] lg:pb-[54px] xl:pb-[60px] flex flex-col items-center bg-white xl:min-h-full xl:justify-center" data-v-8acf2dc5>`);
_push(ssrRenderComponent(_component_CustomTitle, { title: "资质荣誉" }, null, _parent));
_push(`<div class="${ssrRenderClass([__props.fullWidth ? "px-0" : "layout", "mt-[24px] sm:mt-[28px] md:mt-[36px] lg:mt-[48px] xl:mt-[64px] w-full flex justify-center"])}" data-v-8acf2dc5><div class="flex flex-row items-center justify-center gap-[12px] sm:gap-[14px] md:gap-[14px] lg:gap-[12px] xl:gap-[12px] cursor-pointer flex-wrap" data-v-8acf2dc5><!--[-->`);
ssrRenderList(tabList.value, (tab, index) => {
_push(`<div class="${ssrRenderClass([{
"bg-[#F0F2F5] text-[#333333]": tab.id === activeTabId.value,
"border-[1px] border-[#F0F2F5] text-[#888888]": tab.id !== activeTabId.value
}, "px-[12px] py-[6px] sm:px-[14px] sm:py-[6px] md:px-[15px] md:py-[6px] lg:px-[15px] lg:py-[6px] xl:px-[15px] xl:py-[6px] rounded-full text-[12px] sm:text-[14px] md:text-[15px] lg:text-[16px] xl:text-[16px] text-center transition-all duration-300 ease-out hover:scale-105 hover:-translate-y-0.5 active:scale-[0.98]"])}" data-v-8acf2dc5>${ssrInterpolate(tab.name)}</div>`);
});
_push(`<!--]--></div></div>`);
if (!__props.isTimeline) {
_push(`<div class="${ssrRenderClass([__props.fullWidth ? "px-0" : "layout", "w-full flex flex-col items-center mt-[20px] sm:mt-[24px] md:mt-[28px] lg:mt-[36px] xl:mt-[43px] pt-[8px] pb-[8px] sm:pt-[10px] sm:pb-[10px] md:pt-[12px] md:pb-[12px] lg:pt-[14px] lg:pb-[14px] xl:pt-[16px] xl:pb-[16px]"])}" data-v-8acf2dc5><div class="w-full grid grid-cols-2 sm:grid-cols-3 gap-x-[12px] sm:gap-x-[16px] md:gap-x-[18px] lg:gap-x-[18px] xl:gap-x-[18px] gap-y-[16px] sm:gap-y-[20px] md:gap-y-[24px] lg:gap-y-[32px] xl:gap-y-[43px]" data-v-8acf2dc5><!--[-->`);
ssrRenderList(certificateList.value, (certificate, index) => {
_push(`<div class="${ssrRenderClass([{
"xl:ml-[50%]": certificateList.value.length % 2 !== 0 && index === certificateList.value.length - 2 || index === certificateList.value.length - 1
}, "flex flex-col items-center w-full"])}" data-v-8acf2dc5><div class="w-full aspect-[173/123] overflow-hidden group p-[10px] sm:p-[10px] md:p-[12px] lg:p-[10px] xl:p-[8px] shadow-[0px_5px_8px_0px_rgba(1,137,232,0.17)] transition-all duration-300 ease-out hover:scale-[1.03] hover:-translate-y-1 hover:shadow-[0px_8px_16px_0px_rgba(1,137,232,0.25)]" data-v-8acf2dc5><img draggable="false" class="object-cover w-full h-full shadow-xl transition-all duration-300 ease-in-out group-hover:scale-110 group-hover:opacity-90 honor-card-img"${ssrRenderAttr("src", certificate.url)}${ssrRenderAttr("alt", certificate.name)} data-v-8acf2dc5></div><span class="mt-[10px] sm:mt-[10px] md:mt-[11px] lg:mt-[10px] xl:mt-[9px] text-[12px] sm:text-[14px] md:text-[18px] lg:text-[21px] xl:text-[24px] text-[#333333]" data-v-8acf2dc5>${ssrInterpolate(certificate.name)}</span></div>`);
});
_push(`<!--]--></div></div>`);
} else {
_push(`<div class="${ssrRenderClass([__props.fullWidth ? "px-0" : "xl:w-auto layout", "relative flex flex-col items-center w-full mt-[20px] sm:mt-[24px] md:mt-[28px] lg:mt-[32px] xl:mt-[40px] overflow-visible"])}" data-v-8acf2dc5><div class="absolute top-[44px] sm:top-[53px] md:top-[63px] lg:top-[74px] xl:top-[85px] left-0 right-0 z-[5] h-[1px] bg-[#EEF5FF]" data-v-8acf2dc5></div><div class="timeline-scroll w-full flex flex-row items-stretch justify-start sm:justify-center gap-[20px] sm:gap-[20px] md:gap-[24px] lg:gap-[32px] xl:gap-[40px] overflow-x-auto overflow-y-visible 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] pl-[32px] pr-[32px] sm:pl-0 sm:pr-0" data-v-8acf2dc5><!--[-->`);
ssrRenderList(certificateList.value, (certificate, idx) => {
_push(`<div class="flex shrink-0 flex-col items-center w-[189px] sm:w-[220px] md:w-[270px] lg:w-[320px] xl:w-[378px]" data-v-8acf2dc5><div class="text-[18px] sm:text-[22px] md:text-[28px] lg:text-[34px] xl:text-[38px] font-bold text-[#336DF6] leading-none text-center w-full" data-v-8acf2dc5>${ssrInterpolate(certificate.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" data-v-8acf2dc5></div><div class="flex justify-center w-full z-[0]" data-v-8acf2dc5><div class="w-[1px] z-[0] xl:w-[2px] shrink-0 h-[40px] sm:h-[48px] md:h-[60px] lg:h-[68px] xl:h-[76px] bg-[#336DF6]" data-v-8acf2dc5></div></div><div class="relative z-[2] w-full max-w-[189px] sm:max-w-[220px] md:max-w-[270px] lg:max-w-[320px] xl:max-w-[378px] h-[134px] sm:h-[156px] md:h-[192px] lg:h-[227px] xl:h-[268px] flex items-center justify-center rounded-none group overflow-hidden px-[8px] py-[6px] sm:px-[12px] sm:py-[8px] md:px-[16px] md:py-[10px] lg:px-[20px] lg:py-[14px] xl:px-[25px] xl:py-[18px] shadow-[0px_6px_12px_0px_rgba(1,137,232,0.15)] md:shadow-[0px_8px_14px_0px_rgba(1,137,232,0.16)] xl:shadow-[0px_12px_20px_1px_rgba(1,137,232,0.17)] transition-all duration-300 ease-out hover:scale-[1.03] hover:-translate-y-1 hover:shadow-[0px_16px_28px_2px_rgba(1,137,232,0.22)]" data-v-8acf2dc5><img draggable="false" class="object-cover w-full h-full rounded-none transition-all duration-300 ease-in-out honor-card-img group-hover:scale-105 group-hover:opacity-90"${ssrRenderAttr("src", certificate.url)}${ssrRenderAttr("alt", certificate.name)} data-v-8acf2dc5></div></div>`);
});
_push(`<!--]--></div></div>`);
}
_push(`</div></div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/QualificationHonor.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const __nuxt_component_3 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main, [["__scopeId", "data-v-8acf2dc5"]]), { __name: "QualificationHonor" });
export { __nuxt_component_2 as _, __nuxt_component_3 as a };
//# sourceMappingURL=QualificationHonor-WKOjdncI.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"QualificationHonor-WKOjdncI.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/QualificationHonor-WKOjdncI.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}

View File

@ -0,0 +1,8 @@
const QualificationHonor_vue_vue_type_style_index_0_scoped_8acf2dc5_lang = "[data-v-8acf2dc5] .honor-card-img,[data-v-8acf2dc5] img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}.timeline-scroll[data-v-8acf2dc5]{touch-action:pan-x;-webkit-overflow-scrolling:touch}";
const QualificationHonorStyles_amEgj2qp = [
QualificationHonor_vue_vue_type_style_index_0_scoped_8acf2dc5_lang
];
export { QualificationHonorStyles_amEgj2qp as default };
//# sourceMappingURL=QualificationHonor-styles.amEgj2qp.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"QualificationHonor-styles.amEgj2qp.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/QualificationHonor-styles-1.mjs-CnX2ToVW.js","../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/QualificationHonor-styles.amEgj2qp.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}

View File

@ -0,0 +1,36 @@
import { defineComponent, mergeProps, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderList, ssrRenderClass, ssrInterpolate, ssrRenderAttr } from 'vue/server-renderer';
import { _ as _imports_0 } from './virtual_public-Ch4_18y6.mjs';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "TabsHeader",
__ssrInlineRender: true,
props: {
tabs: {},
activeTab: {},
title: {}
},
emits: ["update:activeTab"],
setup(__props, { emit: __emit }) {
return (_ctx, _push, _parent, _attrs) => {
_push(`<div${ssrRenderAttrs(mergeProps({ class: "sticky top-[56px] sm:top-[64px] md:top-[80px] lg:top-[100px] xl:top-[135px] z-[999] w-full h-[56px] sm:h-[60px] md:h-[64px] lg:h-[68px] xl:h-[68px] flex flex-row items-center justify-center bg-[#F2F2F2]" }, _attrs))}><div class="flex flex-row justify-between items-center w-full h-full layout"><div class="flex flex-row items-center gap-[18px] overflow-x-auto sm:overflow-visible h-full"><!--[-->`);
ssrRenderList(__props.tabs, (tab) => {
_push(`<a href="#" class="${ssrRenderClass([{
"text-[#333333] hover:after:w-full border-b-[#F2F2F2]": __props.activeTab !== tab.id,
"text-[#2E75B5] border-b-[#2E75B5]": __props.activeTab === tab.id
}, "relative border-b-[2px] text-[14px] sm:text-[14px] md:text-[15px] lg:text-[16px] xl:text-[16px] whitespace-nowrap hover:text-[#2E75B5] transition-colors duration-300 after:absolute after:bottom-[-1px] after:left-0 after:w-0 after:h-[1px] after:bg-[#0A357D] after:transition-all after:duration-300 h-full flex items-center"])}">${ssrInterpolate(tab.name)}</a>`);
});
_push(`<!--]--></div><div class="hidden sm:flex h-full text-[12px] pl-[12px] text-[#999999] border-l-[1px] flex-row items-center gap-[8px]"><img class="w-[14px] h-[14px]"${ssrRenderAttr("src", _imports_0)} alt=""><a href="/home" class="hover:text-[#0A357D] transition-colors">首页</a><span class="inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"></span><span>${ssrInterpolate(__props.title)}</span></div></div></div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/TabsHeader.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const __nuxt_component_1 = Object.assign(_sfc_main, { __name: "TabsHeader" });
export { __nuxt_component_1 as _ };
//# sourceMappingURL=TabsHeader-C0yMA2hS.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"TabsHeader-C0yMA2hS.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/TabsHeader-C0yMA2hS.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}

View File

@ -0,0 +1,97 @@
import { _ as __nuxt_component_0 } from './HeaderImage-92nFA80c.mjs';
import { defineComponent, computed, withAsyncContext, mergeProps, unref, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr, ssrInterpolate } from 'vue/server-renderer';
import { _ as _imports_0 } from './virtual_public-Ch4_18y6.mjs';
import { u as useRequest } from './useRequest-pSRZvR3u.mjs';
import { u as useRoute } from './server.mjs';
import { u as useAsyncData } from './asyncData-D5wEK86T.mjs';
import { u as useSeoMeta } from './composables-2BFBRDmB.mjs';
import '../routes/renderer.mjs';
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 'vue-router';
import 'axios';
import 'perfect-debounce';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "[id]",
__ssrInlineRender: true,
async setup(__props) {
let __temp, __restore;
const route = useRoute();
const request = useRequest();
const id = computed(() => String(route.params.id ?? ""));
const { data: detailRes, pending } = ([__temp, __restore] = withAsyncContext(async () => useAsyncData(
() => `news-detail-${id.value}`,
async () => {
if (!id.value) return null;
return await request.get(`/api/news/${id.value}`);
},
{ watch: [id] }
)), __temp = await __temp, __restore(), __temp);
const detail = computed(() => {
const res = detailRes.value;
return res?.code === 200 ? res.data : null;
});
function formatDate(str) {
if (!str) return "";
return str.split(" ")[0] ?? str;
}
useSeoMeta({
title: () => detail.value?.title ?? "企业资讯",
description: () => detail.value?.description ?? "",
ogTitle: () => detail.value?.title ?? "",
ogDescription: () => detail.value?.description ?? "",
ogImage: () => detail.value?.cover ?? void 0
});
return (_ctx, _push, _parent, _attrs) => {
const _component_HeaderImage = __nuxt_component_0;
_push(`<div${ssrRenderAttrs(mergeProps({ class: "w-full" }, _attrs))}>`);
_push(ssrRenderComponent(_component_HeaderImage, {
title: "企业资讯",
img: "/images/企业资讯/企业资讯.png"
}, null, _parent));
_push(`<div class="hidden sm:flex sticky top-[56px] sm:top-[64px] md:top-[80px] lg:top-[100px] xl:top-[135px] z-[999] w-full h-[56px] flex-row items-center justify-center bg-[#F2F2F2]"><div class="flex flex-row justify-end items-center w-full h-full layout"><div class="h-full text-[12px] pl-[12px] text-[#999999] border-l-[1px] flex flex-row items-center gap-[8px]"><img class="w-[14px] h-[14px]"${ssrRenderAttr("src", _imports_0)} alt=""><a href="/home" class="hover:text-[#0A357D] transition-colors">首页</a><span class="inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"></span><a href="/news" class="hover:text-[#0A357D] transition-colors">企业资讯</a><span class="inline-block border-solid border-transparent border-l-[2px] border-y-[2px] border-l-current text-[#999999]"></span><span>${ssrInterpolate(unref(detail)?.title ?? "")}</span></div></div></div><div class="w-full bg-white"><div class="layout pt-[28px] sm:pt-[34px] md:pt-[44px] lg:pt-[54px] xl:pt-[64px] pb-[40px] sm:pb-[48px] md:pb-[56px] lg:pb-[64px] xl:pb-[72px]">`);
if (unref(detail)) {
_push(`<!--[--><h1 class="text-[20px] sm:text-[22px] md:text-[24px] lg:text-[26px] xl:text-[28px] text-[#333333] font-bold">${ssrInterpolate(unref(detail).title)}</h1><div class="mt-[12px] sm:mt-[14px] md:mt-[16px] text-[12px] sm:text-[13px] md:text-[14px] text-[#999999]"> 发布时间:${ssrInterpolate(formatDate(unref(detail).published_at))}</div>`);
if (unref(detail).cover) {
_push(`<img${ssrRenderAttr("src", unref(detail).cover)}${ssrRenderAttr("alt", unref(detail).title)} class="w-full mt-[20px] sm:mt-[24px] md:mt-[28px] h-[220px] sm:h-[260px] md:h-[300px] lg:h-[340px] xl:h-[380px] object-cover rounded-[4px]">`);
} else {
_push(`<!---->`);
}
if (unref(detail).content) {
_push(`<div class="mt-[24px] sm:mt-[28px] md:mt-[32px] w-full text-left text-[12px] sm:text-[14px] md:text-[16px] lg:text-[18px] text-[#333333] leading-relaxed [&amp;_img]:max-w-full [&amp;_img]:h-auto [&amp;_img]:block [&amp;_img]:my-[12px] [&amp;_p]:mb-[12px]">${unref(detail).content ?? ""}</div>`);
} else {
_push(`<!---->`);
}
_push(`<!--]-->`);
} else if (!unref(pending)) {
_push(`<p class="text-[#666666]">暂无内容</p>`);
} else {
_push(`<!---->`);
}
_push(`</div></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/news/[id].vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
export { _sfc_main as default };
//# sourceMappingURL=_id_-0mLHz3QR.mjs.map

View File

@ -0,0 +1 @@
{"version":3,"file":"_id_-0mLHz3QR.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_id_-0mLHz3QR.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}

Some files were not shown because too many files have changed in this diff Show More