boyuehasfj-vue3-html/boyuehasfj-html-bak/assets/SearchResultsView-D_jfK11c.js
2025-06-02 21:36:36 +08:00

3 lines
8.6 KiB
JavaScript

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BcR-H1Jh.js","assets/index-Dd7JvF_n.css"])))=>i.map(i=>d[i]);
import{d as x,r as y,s as p,x as J,o as K,y as F,c as l,e,b as M,S as H,l as c,j as d,t as n,n as C,F as R,h as S,z as P,A as U,B as j,k as a,_ as G}from"./index-BcR-H1Jh.js";const Q={class:"search-results-page"},W={class:"search-results-container"},X={class:"search-header"},Y={class:"header-content"},Z={class:"search-bar-container"},ee={class:"search-content"},se={class:"search-sidebar"},te={class:"search-info"},oe={key:0},le={class:"keyword-highlight"},ae={class:"result-count"},ne={key:1,class:"error-message"},re={key:2},ce={key:3},ie={class:"keyword-highlight"},ue={key:0,class:"search-categories"},de={class:"category-list"},he={key:0,class:C({active:!0})},ve={href:"#law-section"},_e={key:1,class:C({active:!0})},ge={href:"#case-section"},ye={key:2,class:C({active:!0})},pe={href:"#form-section"},fe={key:3,class:C({active:!0})},ke={href:"#other-section"},we={class:"search-main-content"},me={key:0,class:"loading-container"},Re={key:1,class:"results-sections"},Se={key:0,id:"law-section",class:"result-section law-section"},Ce={class:"result-count"},Ie={class:"result-list"},Te=["onClick"],be={class:"result-content"},Le={class:"result-title"},Ne={key:0,class:"result-description"},$e={class:"result-meta"},ze={key:0,class:"result-date"},Ee={key:1,id:"case-section",class:"result-section case-section"},Ve={class:"result-count"},Ae={class:"result-list"},De=["onClick"],Be={class:"result-content"},Oe={class:"result-title"},qe={key:0,class:"result-description"},xe={class:"result-meta"},Je={key:0,class:"result-date"},Ke={key:2,id:"form-section",class:"result-section form-section"},Fe={class:"result-count"},Me={class:"result-list"},He=["onClick"],Pe={class:"result-content"},Ue={class:"result-title"},je={key:0,class:"result-description"},Ge={class:"result-meta"},Qe={key:0,class:"result-date"},We={key:3,id:"other-section",class:"result-section other-section"},Xe={class:"result-count"},Ye={class:"result-list"},Ze=["onClick"],es={class:"result-content"},ss={class:"result-title"},ts={key:0,class:"result-description"},os={class:"result-meta"},ls={key:0,class:"result-date"},as={key:4,class:"no-results"},ns={class:"no-results-title"},rs={class:"keyword-highlight"},cs=x({__name:"SearchResultsView",setup(is){const O=U();j();const i=y(""),u=y([]),r=y({law:[],case:[],form:[],other:[]}),_=y(!0),v=y(""),I=p(()=>u.value.length>0),b=p(()=>r.value.law.length>0),L=p(()=>r.value.case.length>0),N=p(()=>r.value.form.length>0),$=p(()=>r.value.other.length>0),q=p(()=>u.value.length),z=y("all");J(()=>{const o=O.query.keyword;o&&(i.value=decodeURIComponent(o),E())});function E(){_.value=!0,v.value="";try{const o=sessionStorage.getItem("searchKeyword"),s=sessionStorage.getItem("searchResults"),t=sessionStorage.getItem("categorizedResults");o===i.value&&s?(u.value=JSON.parse(s),t?r.value=JSON.parse(t):V(),console.log("从sessionStorage加载搜索结果:",u.value.length)):(console.log("未找到存储的搜索结果或关键词不匹配,重新搜索:",i.value),T())}catch(o){console.error("加载搜索结果失败:",o),v.value="加载搜索结果失败",T()}finally{_.value=!1}}async function T(){if(!i.value||i.value.trim()===""){v.value="请输入搜索关键词",_.value=!1;return}_.value=!0,v.value="";try{console.log("执行搜索:",i.value);const{searchContent:o}=await P(async()=>{const{searchContent:t}=await import("./index-BcR-H1Jh.js").then(h=>h.C);return{searchContent:t}},__vite__mapDeps([0,1])),s=await o(i.value,void 0,!0);if(s&&s.code===200){const t=s.data||[];u.value=Array.isArray(t)?t:[],V(),sessionStorage.setItem("searchKeyword",i.value),sessionStorage.setItem("searchResults",JSON.stringify(u.value)),sessionStorage.setItem("categorizedResults",JSON.stringify(r.value)),console.log("搜索成功,结果数量:",u.value.length)}else console.error("搜索失败:",s),v.value=(s==null?void 0:s.msg)||"搜索失败,请稍后重试"}catch(o){console.error("搜索出错:",o),v.value="搜索服务暂时不可用,请稍后重试"}finally{_.value=!1}}function V(){r.value={law:u.value.filter(o=>o.pageType==="law"),case:u.value.filter(o=>o.pageType==="case"),form:u.value.filter(o=>o.pageType==="form"),other:u.value.filter(o=>!["law","case","form"].includes(o.pageType))}}function w(o){if(!o)return"";try{return new Date(o).toLocaleDateString("zh-CN",{year:"numeric",month:"numeric",day:"numeric"})}catch{return o}}function m(o){let s="/";switch(o.pageType){case"law":s=`/show.html?Id=${o.formatId}`;break;case"case":s=`/showcase.html?Id=${o.formatId}`;break;case"form":s=`/table.html?Id=${o.formatId}`;break;default:s=`/show.html?Id=${o.formatId||o.id}`}window.location.href=s}function A(){const o=document.querySelectorAll(".result-section"),s=document.querySelectorAll(".category-list li");if(o.length===0||s.length===0)return;const t=window.innerHeight;let h=null,D=1/0;if(o.forEach(f=>{const k=f.getBoundingClientRect(),g=Math.abs(k.top);g<D&&k.top<=t/2&&(D=g,h=f)}),h&&h.id){const f=h.id,k=f.replace("-section","");s.forEach(g=>{const B=g.querySelector("a");B&&B.getAttribute("href")===`#${f}`?g.classList.add("active"):g.classList.remove("active")}),z.value!==k&&(z.value=k)}}return K(()=>{E(),window.addEventListener("scroll",A)}),F(()=>{window.removeEventListener("scroll",A)}),(o,s)=>(a(),l("div",Q,[e("div",W,[e("div",X,[e("div",Y,[s[0]||(s[0]=e("h1",null,"搜索结果",-1)),e("div",Z,[M(H)])])]),e("div",ee,[e("div",se,[e("div",te,[I.value?(a(),l("p",oe,[s[1]||(s[1]=d('关键词 "')),e("span",le,n(i.value),1),s[2]||(s[2]=d('" 的搜索结果(共 ')),e("span",ae,n(q.value),1),s[3]||(s[3]=d(" 条)"))])):v.value?(a(),l("p",ne,n(v.value),1)):_.value?(a(),l("p",re,"正在加载搜索结果...")):(a(),l("p",ce,[s[4]||(s[4]=d('未找到与 "')),e("span",ie,n(i.value),1),s[5]||(s[5]=d('" 相关的内容'))]))]),I.value?(a(),l("div",ue,[s[6]||(s[6]=e("h3",null,"搜索结果分类",-1)),e("ul",de,[b.value?(a(),l("li",he,[e("a",ve,"法律规定 ("+n(r.value.law.length)+")",1)])):c("",!0),L.value?(a(),l("li",_e,[e("a",ge,"典型案例 ("+n(r.value.case.length)+")",1)])):c("",!0),N.value?(a(),l("li",ye,[e("a",pe,"表单下载 ("+n(r.value.form.length)+")",1)])):c("",!0),$.value?(a(),l("li",fe,[e("a",ke,"其他内容 ("+n(r.value.other.length)+")",1)])):c("",!0)])])):c("",!0)]),e("div",we,[_.value?(a(),l("div",me,s[7]||(s[7]=[e("div",{class:"loading-spinner"},null,-1),e("p",null,"正在加载搜索结果...",-1)]))):(a(),l("div",Re,[b.value?(a(),l("section",Se,[e("h2",null,[s[8]||(s[8]=d("法律规定 ")),e("span",Ce,"("+n(r.value.law.length)+")",1)]),e("div",Ie,[(a(!0),l(R,null,S(r.value.law,t=>(a(),l("div",{key:t.id,class:"result-item",onClick:h=>m(t)},[e("div",be,[e("h3",Le,n(t.title),1),t.description?(a(),l("p",Ne,n(t.description),1)):c("",!0),e("div",$e,[t.createTime?(a(),l("span",ze,n(w(t.createTime)),1)):c("",!0)])])],8,Te))),128))])])):c("",!0),L.value?(a(),l("section",Ee,[e("h2",null,[s[9]||(s[9]=d("典型案例 ")),e("span",Ve,"("+n(r.value.case.length)+")",1)]),e("div",Ae,[(a(!0),l(R,null,S(r.value.case,t=>(a(),l("div",{key:t.id,class:"result-item",onClick:h=>m(t)},[e("div",Be,[e("h3",Oe,n(t.title),1),t.description?(a(),l("p",qe,n(t.description),1)):c("",!0),e("div",xe,[t.createTime?(a(),l("span",Je,n(w(t.createTime)),1)):c("",!0)])])],8,De))),128))])])):c("",!0),N.value?(a(),l("section",Ke,[e("h2",null,[s[10]||(s[10]=d("表单下载 ")),e("span",Fe,"("+n(r.value.form.length)+")",1)]),e("div",Me,[(a(!0),l(R,null,S(r.value.form,t=>(a(),l("div",{key:t.id,class:"result-item",onClick:h=>m(t)},[e("div",Pe,[e("h3",Ue,n(t.title),1),t.description?(a(),l("p",je,n(t.description),1)):c("",!0),e("div",Ge,[t.createTime?(a(),l("span",Qe,n(w(t.createTime)),1)):c("",!0)])])],8,He))),128))])])):c("",!0),$.value?(a(),l("section",We,[e("h2",null,[s[11]||(s[11]=d("其他内容 ")),e("span",Xe,"("+n(r.value.other.length)+")",1)]),e("div",Ye,[(a(!0),l(R,null,S(r.value.other,t=>(a(),l("div",{key:t.id,class:"result-item",onClick:h=>m(t)},[e("div",es,[e("h3",ss,n(t.title),1),t.description?(a(),l("p",ts,n(t.description),1)):c("",!0),e("div",os,[t.createTime?(a(),l("span",ls,n(w(t.createTime)),1)):c("",!0)])])],8,Ze))),128))])])):c("",!0),!I.value&&!_.value&&!v.value?(a(),l("div",as,[e("p",ns,[s[12]||(s[12]=d('抱歉,未找到与 "')),e("span",rs,n(i.value),1),s[13]||(s[13]=d('" 相关的内容'))]),s[14]||(s[14]=e("div",{class:"no-results-suggestions"},[e("p",null,"建议:"),e("ul",null,[e("li",null,"请检查关键词拼写是否正确"),e("li",null,"尝试使用其他关键词"),e("li",null,"尝试使用更通用的关键词")])],-1)),e("div",{class:"try-again-section"},[e("button",{class:"try-again-button",onClick:T},"重新搜索")])])):c("",!0)]))])])])]))}}),ds=G(cs,[["__scopeId","data-v-d96450da"]]);export{ds as default};