PageSourceSearch

https://bmarket.vn/assets/PortalSearch-BOeDlzYS.js

js bmarket.vn collected 2026-09-24 15:15:18 UTC 9,163 bytes, 1 lines download raw bytes

1import{d as pe,a as ve,u as _e,B as me,o as he,aw as R,D as _,g as l,E as Y,G as m,i as r,j as p,x as ye,k as n,m as y,t as i,h as o,F as g,r as D,p as h,O as C,q as fe,a8 as ge,z as d,y as z}from"./index-BF5iRU55.js";import{u as ke}from"./cart-DVaP2aUO.js";import{S as be}from"./SearchOutline-QartJFSd.js";import{O as we}from"./OpenOutline-BXGHwUvm.js";import{C as Ce}from"./CartOutline-SFinW2_T.js";import{_ as qe}from"./_plugin-vue_export-helper-DlAUqK2U.js";const xe={class:"bar"},Se={class:"filters"},ze={class:"hint"},Te={key:0,class:"grid"},Ne={key:1,class:"empty"},Oe={key:2,class:"empty"},Ue={class:"grid"},$e=["onClick"],De={class:"p-img"},Be=["src"],Me={class:"p-b"},Pe={class:"p-name"},Ae={class:"p-price"},Ee={class:"p-meta"},Fe={key:0},Ie={key:1,class:"area"},Ve={class:"p-seller"},Ke={key:0,class:"pager"},Le={key:0,class:"d"},Re={class:"d-gal"},Ge={class:"d-main"},Qe=["src"],je={key:0,class:"d-thumbs"},He=["onClick"],Je=["src"],We={class:"d-info"},Xe={class:"d-title"},Ye={class:"d-price"},Ze={class:"d-meta"},ea={key:0},aa={key:1},ta=["href"],la={key:0,class:"skus"},sa={class:"skus-hd"},na={class:"sku-l"},oa={class:"sku-name"},ra={class:"sku-sub"},ia={key:0,class:"stock"},ua={key:1,class:"plain"},ca={class:"plain-l"},da={class:"sum"},pa={class:"d-act"},va={key:1,class:"d-loading"},_a=pe({__name:"PortalSearch",setup(ma){const{t:s}=ve(),Z=_e(),T=me(),G=ke(),B=d(""),M=d(""),P=d(""),A=d(""),E=d(1),N=d(!1),F=d(!1),k=d([]),O=d(0),I=d(0),q=d(!0),ee=z(()=>[{label:s("portal.search.sortDefault"),value:""},{label:s("portal.search.sortPriceAsc"),value:"bid"},{label:s("portal.search.sortPriceDesc"),value:"_bid"},{label:s("portal.search.sortSalesDesc"),value:"_sale"}]),Q=z(()=>!I.value||!O.value?k.value.length?E.value:0:Math.min(100,Math.ceil(O.value/I.value)));async function V(t=1){var v;const e=B.value.trim();if(e.length<2){T.warning(s("portal.search.needKeyword"));return}N.value=!0,E.value=t;try{const u=await R.sourcingSearch({q:e,page:t,sort:M.value||void 0,start_price:P.value||void 0,end_price:A.value||void 0});k.value=(u==null?void 0:u.items)||[],O.value=Number((u==null?void 0:u.total)||0),I.value=Number((u==null?void 0:u.page_size)||0),F.value=!0,q.value=!0,k.value.length===1&&O.value===1&&j(k.value[0])}catch(u){((v=u==null?void 0:u.response)==null?void 0:v.status)===503&&(q.value=!1),k.value=[],F.value=!0}finally{N.value=!1}}function ae(t){V(t),window.scrollTo({top:0,behavior:"smooth"})}const x=d(!1),K=d(!1),c=d(null),S=d([]),b=d(1),w=d("");async function j(t){x.value=!0,K.value=!0,c.value=null,S.value=[],b.value=1,w.value=t.pic_url;try{const e=await R.sourcingItem(t.num_iid);c.value=e,S.value=e.skus.map(()=>null),w.value=e.pic_url||t.pic_url,b.value=Math.max(1,Number(e.min_order||1))}catch{x.value=!1}finally{K.value=!1}}const U=z(()=>{const t=c.value;return t?t.skus.map((e,v)=>({sku:e,qty:Number(S.value[v]||0)})).filter(e=>e.qty>0):[]}),te=z(()=>U.value.reduce((t,e)=>t+e.qty,0)),le=z(()=>U.value.reduce((t,e)=>t+e.qty*(e.sku.price||0),0));function se(t){return t.max_price>t.min_price?`¥${C(t.min_price,2)} – ¥${C(t.max_price,2)}`:`¥${C(t.price||t.min_price,2)}`}function H(t,e,v){return{product_name:t.title,product_link:t.detail_url,image_url:e&&w.value||t.pic_url,properties:(e==null?void 0:e.label)||"",platform:"1688",quantity:v,unit_price_cny:(e==null?void 0:e.price)||t.price||t.min_price||0}}const $=d(!1);async function J(t=!1){const e=c.value;if(!e)return;const v=e.skus.length?U.value.map(u=>H(e,u.sku,u.qty)):[H(e,null,Math.max(1,b.value))];if(!v.length){T.warning(s("portal.search.needPick"));return}if(v.some(u=>!u.unit_price_cny||u.unit_price_cny<=0)){T.warning(s("portal.search.noPrice"));return}$.value=!0;try{if(!await G.addMany(v))return;T.success(s("portal.search.addedN",{n:v.length})),x.value=!1,t&&Z.push("/portal/cart")}finally{$.value=!1}}return he(async()=>{await G.load();try{const t=await R.sourcingStatus();q.value=!!(t!=null&&t.available)}catch{}}),(t,e)=>{const v=_("n-icon"),u=_("n-input"),L=_("n-button"),ne=_("n-select"),oe=_("n-alert"),re=_("n-skeleton"),ie=_("n-pagination"),W=_("n-input-number"),ue=_("n-spin"),ce=_("n-modal"),de=_("n-card");return l(),Y(de,{bordered:!1},{header:m(()=>[y(i(n(s)("portal.search.title")),1)]),default:m(()=>[r("div",xe,[p(u,{value:B.value,"onUpdate:value":e[0]||(e[0]=a=>B.value=a),class:"kw",clearable:"",size:"large",disabled:!q.value,placeholder:n(s)("portal.search.placeholder"),onKeyup:e[1]||(e[1]=ye(a=>V(1),["enter"]))},{prefix:m(()=>[p(v,{component:n(be)},null,8,["component"])]),_:1},8,["value","disabled","placeholder"]),p(L,{type:"primary",size:"large",loading:N.value,disabled:!q.value,onClick:e[2]||(e[2]=a=>V(1))},{default:m(()=>[y(i(n(s)("portal.search.searchBtn")),1)]),_:1},8,["loading","disabled"])]),r("div",Se,[p(ne,{value:M.value,"onUpdate:value":e[3]||(e[3]=a=>M.value=a),options:ee.value,size:"small",class:"sortf"}
1,null,8,["value","options"]),p(u,{value:P.value,"onUpdate:value":e[4]||(e[4]=a=>P.value=a),size:"small",class:"pricef",placeholder:n(s)("portal.search.priceFrom")},null,8,["value","placeholder"]),e[12]||(e[12]=r("span",{class:"dash"},"–",-1)),p(u,{value:A.value,"onUpdate:value":e[5]||(e[5]=a=>A.value=a),size:"small",class:"pricef",placeholder:n(s)("portal.search.priceTo")},null,8,["value","placeholder"]),r("span",ze,i(n(s)("portal.search.tipChinese")),1)]),q.value?(l(),o(g,{key:1},[N.value?(l(),o("div",Te,[(l(),o(g,null,D(8,a=>p(re,{key:a,height:"270px",sharp:!1})),64))])):F.value?k.value.length?(l(),o(g,{key:3},[r("div",Ue,[(l(!0),o(g,null,D(k.value,a=>(l(),o("div",{key:a.num_iid,class:"p",onClick:f=>j(a)},[r("div",De,[a.pic_url?(l(),o("img",{key:0,src:a.pic_url,referrerpolicy:"no-referrer",loading:"lazy",onError:e[6]||(e[6]=f=>f.target.style.visibility="hidden")},null,40,Be)):h("",!0)]),r("div",Me,[r("div",Pe,i(a.title),1),r("div",Ae,"¥"+i(n(C)(a.promotion_price||a.price,2)),1),r("div",Ee,[a.sales?(l(),o("span",Fe,i(n(s)("portal.search.sold",{n:a.sales})),1)):h("",!0),a.area?(l(),o("span",Ie,i(a.area),1)):h("",!0)]),r("div",Ve,i(a.seller_nick),1)])],8,$e))),128))]),Q.value>1?(l(),o("div",Ke,[p(ie,{page:E.value,"page-count":Q.value,"onUpdate:page":ae},null,8,["page","page-count"])])):h("",!0)],64)):(l(),o("div",Oe,i(n(s)("portal.search.noResults")),1)):(l(),o("div",Ne,i(n(s)("portal.search.emptyHint")),1))],64)):(l(),Y(oe,{key:0,type:"warning",class:"notice","show-icon":!0},{default:m(()=>[y(i(n(s)("portal.search.unavailable")),1)]),_:1})),p(ce,{show:x.value,"onUpdate:show":e[11]||(e[11]=a=>x.value=a),preset:"card",class:"dlg",title:n(s)("portal.search.detailTitle")},{default:m(()=>[p(ue,{show:K.value},{default:m(()=>[c.value?(l(),o("div",Le,[r("div",Re,[r("div",Ge,[w.value?(l(),o("img",{key:0,src:w.value,referrerpolicy:"no-referrer",onError:e[7]||(e[7]=a=>a.target.style.visibility="hidden")},null,40,Qe)):h("",!0)]),c.value.images.length>1?(l(),o("div",je,[(l(!0),o(g,null,D(c.value.images.slice(0,8),(a,f)=>(l(),o("div",{key:f,class:fe(["d-th",{on:a===w.value}]),onClick:X=>w.value=a},[r("img",{src:a,referrerpolicy:"no-referrer",loading:"lazy"},null,8,Je)],10,He))),128))])):h("",!0)]),r("div",We,[r("div",Xe,i(c.value.title),1),r("div",Ye,i(se(c.value)),1),r("div",Ze,[c.value.seller_nick?(l(),o("span",ea,i(c.value.seller_nick),1)):h("",!0),c.value.min_order>1?(l(),o("span",aa,i(n(s)("portal.search.minOrder",{n:c.value.min_order,unit:c.value.unit||""})),1)):h("",!0),c.value.detail_url?(l(),o("a",{key:2,href:c.value.detail_url,target:"_blank",class:"d-link"},[p(v,{component:n(we)},null,8,["component"]),y(" "+i(n(s)("portal.search.viewOnAli")),1)],8,ta)):h("",!0)]),c.value.skus.length?(l(),o("div",la,[r("div",sa,i(n(s)("portal.search.pickSku")),1),(l(!0),o(g,null,D(c.value.skus,(a,f)=>(l(),o("div",{key:f,class:"sku"},[r("div",na,[r("div",oa,i(n(ge)(a.label)||n(s)("portal.search.skuDefault")),1),r("div",ra,[y(" ¥"+i(n(C)(a.price,2))+" ",1),a.quantity?(l(),o("span",ia,"· "+i(n(s)("portal.search.stock",{n:a.quantity})),1)):h("",!0)])]),p(W,{value:S.value[f],"onUpdate:value":X=>S.value[f]=X,size:"small",class:"sku-q",min:0,max:a.quantity>0?a.quantity:void 0,placeholder:"0"},null,8,["value","onUpdate:value","max"])]))),128))])):(l(),o("div",ua,[r("span",ca,i(n(s)("portal.cart.qtyShort")),1),p(W,{value:b.value,"onUpdate:value":e[8]||(e[8]=a=>b.value=a),size:"small",min:1,class:"sku-q"},null,8,["value"])])),r("div",da,[c.value.skus.length?(l(),o(g,{key:0},[y(i(n(s)("portal.search.selected",{n:U.value.length,q:te.value}))+" ",1),r("b",null,"¥"+i(n(C)(le.value,2)),1)],64)):(l(),o(g,{key:1},[y(i(n(s)("portal.search.selected",{n:1,q:b.value}))+" ",1),r("b",null,"¥"+i(n(C)(b.value*(c.value.price||c.value.min_price),2)),1)],64))]),r("div",pa,[p(L,{type:"primary",loading:$.value,onClick:e[9]||(e[9]=a=>J(!0))},{icon:m(()=>[p(v,{component:n(Ce)},null,8,["component"])]),default:m(()=>[y(" "+i(n(s)("portal.search.addAndGo")),1)]),_:1},8,["loading"]),p(L,{tertiary:"",loading:$.value,onClick:e[10]||(e[10]=a=>J(!1))},{default:m(()=>[y(i(n(s)("portal.cart.addToCart")),1)]),_:1},8,["loading"])])])])):(l(),o("div",va))]),_:1},8,["show"])]),_:1},8,["show","title"])]),_:1})}}}),wa=qe(_a,[["__scopeId","data-v-fae7ecd6"]]);export{wa as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.